Guest User

Untitled

a guest
Feb 20th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.19 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. import json
  5. import os.path
  6.  
  7. def md5sum():
  8. return "test"
  9.  
  10. class File(object):
  11. def __init__(self, md5=None, filename=None):
  12. self.md5 = md5 or md5sum()
  13. self.filename = os.path.basename(filename)
  14.  
  15. def __str__(self):
  16. return "File(md5={}, filename={})".format(self.md5, self.filename)
  17.  
  18. @classmethod
  19. def from_json(cls, md5, filename):
  20. return cls(md5=md5, filename=filename)
  21.  
  22. def to_json(self):
  23. return {
  24. "MD5": self.md5,
  25. "Filename": self.filename,
  26. }
  27.  
  28. def __eq__(self, other):
  29. return self.filename == other.filename
  30.  
  31. string = """[{"MD5": "3123", "Filename": "test"}]"""
  32. json_items = json.loads(string)
  33. print(json_items)
  34.  
  35. print("convert json list to list of File")
  36. #items = []
  37. #for i in json_items:
  38. # items.append(File.from_json(md5=i["MD5"], filename=i["Filename"]))
  39. items = [File.from_json(md5=i["MD5"], filename=i["Filename"]) for i in json_items]
  40. del(json_items)
  41. print(items)
  42.  
  43. print("create new test File objects")
  44. f = File(filename="test")
  45. f2 = File(filename="test")
  46. print(f)
  47. print(f == f2)
  48.  
  49. print("check if f in items")
  50. print(f in items)
  51. items.remove(f)
  52. print(items)
Add Comment
Please, Sign In to add comment