lab1.py 698 B

123456789101112131415161718192021222324252627282930
  1. #!/usr/bin/env python
  2. import sys
  3. sys.path.append('/home/dotcloud/env/lib/python2.6/site-packages')
  4. from sandbox import Sandbox, SandboxConfig
  5. from os import path
  6. importname = sys.argv[1]
  7. if importname.endswith('.py'):
  8. importname = importname[:len(importname)-3]
  9. else:
  10. print >> sys.stderr, 'Filename did not end with .py for some reason...'
  11. sys.exit(2)
  12. sys.path.insert(0, path.expanduser('~/submissions'))
  13. sys.dont_write_bytecode = True
  14. def run():
  15. submission = __import__(importname)
  16. if submission.test() == 1:
  17. return 100
  18. else:
  19. return 0
  20. config = SandboxConfig()
  21. config.timeout = 5
  22. config.allowModule(importname, 'test')
  23. sandbox = Sandbox(config)
  24. score = sandbox.call(run)
  25. print score