Advertisement
Guest User

utorrent.py

a guest
Dec 2nd, 2013
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.77 KB | None | 0 0
  1. #!/usr/bin/env python3
  2.  
  3.  
  4. import argparse
  5. import time
  6. from os import path
  7. import shutil
  8. import logging
  9. import sys
  10.  
  11.  
  12. logger = logging.getLogger(__name__)
  13. formatter = logging.Formatter("{levelname}:{name}:{message}", style="{")
  14.  
  15. file_handler = logging.FileHandler("log.txt")
  16. file_handler.setLevel(logging.DEBUG)
  17. file_handler.setFormatter(formatter)
  18. logger.addHandler(file_handler)
  19.  
  20. console_handler = logging.StreamHandler()
  21. console_handler.setLevel(logging.INFO)
  22. console_handler.setFormatter(formatter)
  23. logger.addHandler(console_handler)
  24.  
  25. logger.setLevel(logging.DEBUG)
  26.  
  27.  
  28.  
  29. DST = r"C:\Users\Gcq\Videos\Pelis\New"
  30. STATUS_DESC = ["WTF? This is not possible. APOCALIPSIS!!!1111",
  31.                "Error",
  32.                "Comprobado",
  33.                "Pausado",
  34.                "Semilla inicial",
  35.                "Compartiendo",
  36.                "Descargando",
  37.                "Semilla inicial [F]",
  38.                "Compartiendo [F]",
  39.                "Descargando [F]",
  40.                "Semilla en cola",
  41.                "Finalizado",
  42.                "Cola",
  43.                "Detenido"]
  44. DOWNLOADING = (6, 9)
  45.  
  46. parser = argparse.ArgumentParser()
  47. parser.add_argument("-n",
  48.                     dest="name",
  49.                     nargs="*",
  50.                     required=True)
  51. parser.add_argument("-d",
  52.                     dest="directory",
  53.                     required=True)
  54. parser.add_argument("-f",
  55.                     dest="file",
  56.                     nargs="*",
  57.                     required=True)
  58. parser.add_argument("-p",
  59.                     dest="previous",
  60.                     type=int,
  61.                     required=True)
  62. parser.add_argument("-c",
  63.                     dest="status",
  64.                     type=int,
  65.                     required=True)
  66. parser.add_argument("-s",
  67.                     dest="message",
  68.                     nargs="*",
  69.                     required=True)
  70.  
  71. args = parser.parse_args()
  72. logger.debug("cmd: {}".format(str(args)))
  73.  
  74. logger.info("uTorrent torrent status report")
  75.  
  76. NAME = " ".join(args.name)
  77. DIR = args.directory
  78. FILE = " ".join(args.file)
  79. PREV_STATUS = args.previous
  80. STATUS = args.status
  81. MESSAGE = args.message
  82.  
  83. logger.info("Event of '{name}':".format(name=NAME))
  84. logger.info("Status changed from '{prev}' to '{status}'".format(prev=STATUS_DESC[PREV_STATUS],
  85.                                                           status=STATUS_DESC[STATUS]))
  86.  
  87. if PREV_STATUS in DOWNLOADING and not STATUS in DOWNLOADING:
  88.     source = path.join(DIR, FILE)
  89.     logger.info(source)
  90.     logger.info("Torrent finished downloading")
  91.     logger.info("Copying {f} to {dst}...".format(f=FILE, dst=DST))
  92.     #shutil.copy(source, DST)
  93.     logger.info("Done")
  94.     with open(NAME): pass
  95. else:
  96.     logger.info("No actions need to be done")
  97.  
  98.  
  99. #time.sleep(5)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement