Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- import re
- import datetime
- if len(sys.argv) != 3:
- exit('Greska u broju argumenata')
- try:
- last = open("last.txt", "r")
- except:
- exit('Greska u fajlu last.txt')
- arg_uzorak = re.compile(r'([0-9]{2}).*?([0-9]{2})')
- for i in arg_uzorak.finditer(sys.argv[1]):
- dan = i.group(1)
- mesec = i.group(2)
- for i in arg_uzorak.finditer(sys.argv[2]):
- sat = i.group(1)
- minut = i.group(2)
- year = datetime.date.today().year
- datum = datetime.datetime(year, int(mesec), int(dan), int(sat), int(minut))
- #uzorak = re.compile(r'.*?(\w{3})\s*([0-9]+)\s*([0-9]+):([0-9]+) - ([0-9]+):([0-9]+)\s*\(([0-9]+):([0-9]+)\)', re.S)
- regex = r'(?P<korisnicko_ime>.+)\s+' #korisnicko ime
- regex += r'(?P<nebitno1>.*?)' #sve sto ima do datuma, ? da ne pokupi sve do kraja reda
- regex += r'(?P<mesec>Jan|Feb|Mar|Apr|May|Jun|Jul|Avg|Sep|Oct|Nov|Dec)\s+' #mesec
- regex += r'(?P<dan>\d+)\s+' #dan
- regex += r'(?P<satP>\d\d):(?P<minutP>\d\d)' #pocetak sesije
- regex += r'(?P<nebitno2>.*?)' #sve sto ima do trajanja sesije
- regex += r'[(](?P<dDay>\d+)?[+]?(?P<satK>\d\d):(?P<minK>\d\d)[)]' #trajanje sesije
- pattern = re.compile(regex)
- meseci = {'Jan' : 1, 'Feb': 2, 'Mar' : 3, 'Apr' : 4, 'May' : 5, 'Jun': 6, 'Jul' : 7, 'Avg': 8, 'Sep' : 9, 'Oct' : 10, 'Nov' : 11, 'Dec': 12}
- redovi = {}
- blejanje_na_serveru=0
- duration_days =0
- duration_hours =0
- duration_minutes= 0
- lista=[]
- for i in file.readlines(last):
- duration_days=0
- duration_hours=0
- duration_minutes=0
- pretraga = pattern.match(i)
- if pretraga is not None:
- donja_granica = datetime.datetime(year,meseci[pretraga.group("mesec")]
- ,int(pretraga.group("dan")),int(pretraga.group("satP")),int(pretraga.group("minutP")))
- if pretraga.group("dDay") is not None:
- duration_days=int(pretraga.group("dDay"))
- duration_hours=int(pretraga.group("satK"))
- duration_minutes=int(pretraga.group("minK"))
- else:
- duration_hours=int(pretraga.group("satK"))
- duration_minutes=int(pretraga.group("minK"))
- gornja_granica=donja_granica+datetime.timedelta(days=duration_days,hours=duration_hours,minutes=duration_minutes)
- #blejanje_na_serveru = duration_days*24*60+duration_hours*60+duration_minutes
- if donja_granica<=datum and datum<=gornja_granica:
- lista.append(i)
- for x in lista:
- bla = re.sub("\n+","",x)
- print bla
- last.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement