Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- import os,datetime
- def is_leap_year():
- today=datetime.date.today()
- try:
- datetime.date(today.year,2,29) # won't work if this isn't a leap year
- return True
- except ValueError:
- return False
- def get_xkcd394_sizes(filename):
- size=os.path.getsize(filename)
- sizes={}
- if is_leap_year():
- sizes['kB']=int(size/1000) # kilobyte, leap year
- else:
- sizes['kB']=int(size/1024) # kilobyte, non leap year
- sizes['KB']=int(size/1012) # kelly-bootle standard unit
- sizes['kb']=size/1024.937528 # intel kilobyte
- sizes['KiB']=size/complex(1024,1) # imaginary kilobyte
- since_2008 = datetime.date.today().year-2008
- drivemaker=908 - 4 * since_2008
- sizes['Kb']=int(size/drivemaker) # drivemaker's kilobyte
- sizes['KBa']=int(size/1152) # baker's kilobyte
- return sizes
- if __name__=='__main__':
- import sys
- for arg in sys.argv[1:]:
- print arg
- sizes=get_xkcd394_sizes(arg)
- for type in 'kB KB KiB kb Kb KBa'.split():
- print ' %s %s' % (sizes.get(type,''),type)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement