item.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. """
  2. @author: luojunhui
  3. """
  4. import time
  5. default_single_video_table_fields = {
  6. "platform": "gzh",
  7. "article_title": None,
  8. "content_trace_id": None,
  9. "read_cnt": 0,
  10. "article_index": None,
  11. "out_account_name": None,
  12. "article_url": None,
  13. "url_unique_md5": None,
  14. "category": None,
  15. "publish_timestamp": None,
  16. "out_account_id": None,
  17. "cover_url": None,
  18. "crawler_timestamp": int(time.time()),
  19. "source_account": 1,
  20. "article_publish_type": None,
  21. "like_cnt": 0,
  22. "bad_status": 0,
  23. "tags": None,
  24. "video_oss_path": None,
  25. "audit_status": 0,
  26. "category_status": 0,
  27. "audit_video_id": None,
  28. "mini_program_title": None
  29. }
  30. class Item(object):
  31. """
  32. format save to article meta table or single video source table
  33. """
  34. def __init__(self):
  35. self.item = {}
  36. def add(self, key, value):
  37. """
  38. add key value to item
  39. """
  40. self.item[key] = value
  41. def check_video_item(self):
  42. """
  43. check video item
  44. """
  45. fields = list(default_single_video_table_fields.keys())
  46. for field in fields:
  47. if self.item.get(field, None) is not None:
  48. continue
  49. else:
  50. self.item[field] = default_single_video_table_fields[field]
  51. def check_article_item(self):
  52. """
  53. check article item
  54. """
  55. return
  56. def check(self, source):
  57. """
  58. check item
  59. """
  60. match source:
  61. case "video":
  62. self.check_video_item()
  63. case "article":
  64. self.check_article_item()