Hébergeur de fichiers indépendant

pamir.py

À propos

Type de fichier
Fichier PY de 2 Ko (text/x-python)
Confidentialité
Fichier public, envoyé le 26 juin 2013 à 23:36, depuis l'adresse IP 82.227.x.x (France)
Sécurité
Ne contient aucun Virus ou Malware connus - Dernière vérification: 3 jours
Statistiques
La présente page de téléchargement a été vue 476 fois depuis l'envoi du fichier
Page de téléchargement

Aperçu du fichier


#!/usr/bin/env python
import os, sys, time, urllib.request
from sys import *
from operator import itemgetter
from decimal import *

path_conf = "/etc/pacman-mirrors.conf"

serverList = []
nbServer = 0
arch = os.uname().machine
getcontext().prec = 6

try :
    fi = open(path_conf, "r")
except :
    print("Cannot open file", path_conf)
    exit(1)

while 1 :
    line = fi.readline()
    if line == "" :
        break
    line.strip()
    if line == "" :
        break
    if line[0] == '#' or line[0] == '\n' :
        continue
    i = line.find("=")
    if i == -1 :
        continue
    snom = line[0:i]
    i = i + 1
    j = len(line) -1
    if line[i] == '"' :
        i = i + 1
        if line[j -1] == '"' :
            j = j - 1
    sval = line[i:j]
    if snom == "Branch" :
        branch=sval
    elif snom == "MirrorlistsDir" :
        pathMirrors = sval + "/"

try :
    os.chdir(pathMirrors)
except :
    print("Cannot change directory to", pathMirrors)
    exit(1)

listeDir = os.listdir(pathMirrors)
listeDir.sort()
listeSer=[]
for country in listeDir :
    print(country)
    fi = open(country, "r")
    while 1 :
        s = fi.readline()
        if s == '' :
            break
        if s[0] != 'S' :
            continue
        urlServer = s[9:-1]
        print("......", urlServer, end='')
        sys.stdout.flush()
        j = urlServer.find("$branch")
        url = urlServer[0:j] + "state"
#        print(url)
        start = time.time()
        try :
            resp = urllib.request.urlopen(url, timeout=1).read()
            d = resp.find(b"date=")
            s = resp[d+5:].decode('utf-8')
            t = s.find("T")
            date = s[0:t]
            hour = s[t+1:-1]
            elapsed = round((time.time() - start), 3)
            print("\r{:6.4}".format(Decimal(elapsed).quantize(Decimal('.001'), rounding=ROUND_UP)))
            serverList.append([elapsed, country, urlServer, date, hour])
            nbServer = nbServer + 1
        except :
            print("\rError!")
    fi.close()

serverList = sorted(serverList, key=itemgetter(0))
i = 0
#while (i < nbServer) :
#    print(serverList[i])
#    i = i + 1


Partager le fichier


Télécharger pamir.py


Télécharger pamir.py