All pastes #445979 Raw Edit

pyinfo

public text v1 · immutable
·published 2007-04-18 06:24 UTC
rendered paste body
#!/usr/bin/python
import os
import sys

if __name__ == '__main__':
  # Load all attributes
  data_filename = '.pyinfo'
  try:
    data_file = file(data_filename)
    data = eval(data_file.read(-1))
    data_file.close()
  except:
    data = {}
    try: os.system('touch ' + data_filename)
    except: sys.exit(1)

  # Print Help
  arg = ' '.join(sys.argv[1:])
  arg_ls = arg.split('=')
  if (len(sys.argv) == 1):
    print "Usage:"
    print "  pyinfo my attribute name = some value"
    print "  pyinfo my attribute name"
    print "         => returns 'some value'"
    sys.exit(1)

  # Get local attribute
  if (len(arg_ls) == 1):
    key = arg_ls[0].strip()
    if (data.has_key(key)):
      print data[key]
    sys.exit(0)

  # Set local attribute
  data[arg_ls[0].strip()] = arg_ls[1].strip()
  data_file = file(data_filename, 'w')
  data_file.seek(0)
  data_file.write(repr(data))
  data_file.flush()
  data_file.close()