libmozdata 0.2.18__tar.gz → 0.2.19__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. {libmozdata-0.2.18/libmozdata.egg-info → libmozdata-0.2.19}/PKG-INFO +1 -1
  2. libmozdata-0.2.19/VERSION +1 -0
  3. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/phabricator.py +24 -2
  4. {libmozdata-0.2.18 → libmozdata-0.2.19/libmozdata.egg-info}/PKG-INFO +1 -1
  5. libmozdata-0.2.18/VERSION +0 -1
  6. {libmozdata-0.2.18 → libmozdata-0.2.19}/MANIFEST.in +0 -0
  7. {libmozdata-0.2.18 → libmozdata-0.2.19}/README.md +0 -0
  8. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/BZInfo.py +0 -0
  9. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/FXRevision.py +0 -0
  10. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/FileStats.py +0 -0
  11. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/HGFileInfo.py +0 -0
  12. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/__init__.py +0 -0
  13. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/bugzilla.py +0 -0
  14. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/buildhub.py +0 -0
  15. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/clouseau.py +0 -0
  16. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/config.py +0 -0
  17. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/connection.py +0 -0
  18. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/fx_trains.py +0 -0
  19. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/handler.py +0 -0
  20. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/hgmozilla.py +0 -0
  21. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/lando.py +0 -0
  22. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/modules.json +0 -0
  23. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/modules.py +0 -0
  24. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/patchanalysis.py +0 -0
  25. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/redash.py +0 -0
  26. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/socorro.py +0 -0
  27. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/utils.py +0 -0
  28. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/vcs_map.py +0 -0
  29. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/versions.py +0 -0
  30. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata/wiki_parser.py +0 -0
  31. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata.egg-info/SOURCES.txt +0 -0
  32. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata.egg-info/dependency_links.txt +0 -0
  33. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata.egg-info/not-zip-safe +0 -0
  34. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata.egg-info/requires.txt +0 -0
  35. {libmozdata-0.2.18 → libmozdata-0.2.19}/libmozdata.egg-info/top_level.txt +0 -0
  36. {libmozdata-0.2.18 → libmozdata-0.2.19}/requirements.txt +0 -0
  37. {libmozdata-0.2.18 → libmozdata-0.2.19}/setup.cfg +0 -0
  38. {libmozdata-0.2.18 → libmozdata-0.2.19}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: libmozdata
3
- Version: 0.2.18
3
+ Version: 0.2.19
4
4
  Summary: Library to access and aggregate several Mozilla data sources.
5
5
  Home-page: https://github.com/mozilla/libmozdata
6
6
  Author: Mozilla Release Management
@@ -0,0 +1 @@
1
+ 0.2.19
@@ -19,7 +19,9 @@ HGMO_JSON_REV_URL_TEMPLATE = "https://hg.mozilla.org/mozilla-central/json-rev/{}
19
19
  MOZILLA_PHABRICATOR_PROD = "https://phabricator.services.mozilla.com/api/"
20
20
 
21
21
  PhabricatorPatch = collections.namedtuple(
22
- "PhabricatorPatch", "id, phid, patch, base_revision, commits, merged"
22
+ "PhabricatorPatch",
23
+ "id, phid, patch, base_revision, commits, merged, first_public_parent",
24
+ defaults=[None],
23
25
  )
24
26
 
25
27
  logger = logging.getLogger(__name__)
@@ -705,13 +707,33 @@ class PhabricatorAPI(object):
705
707
  diff_phid=diff["phid"], attachments={"commits": True}
706
708
  )
707
709
  commits = diffs[0]["attachments"]["commits"].get("commits", [])
710
+ query_diffs = self.request("differential.querydiffs", ids=[diff["id"]])
711
+ properties = query_diffs.get(str(diff["id"]), {}).get("properties", {})
712
+ local_commits = properties.get("local:commits") or {}
713
+ if not local_commits:
714
+ logger.warn("Diff %s has no local:commits property", diff["id"])
715
+
716
+ first_public_parent = None
717
+ # local:commits is keyed by the local commit node, which may differ from
718
+ # the public commit identifier exposed by Phabricator's commits attachment
719
+ # hence iterating over values (there is only one in the dict but key unknown).
720
+ for local_commit in local_commits.values():
721
+ first_public_parent = local_commit.get("firstPublicParent")
722
+ if first_public_parent:
723
+ break
708
724
  logger.info(
709
725
  "Adding patch #{} to stack ({})".format(
710
726
  diff["id"], "merged" if merged else "non-merged"
711
727
  )
712
728
  )
713
729
  return PhabricatorPatch(
714
- diff["id"], diff["phid"], patch, diff["baseRevision"], commits, merged
730
+ diff["id"],
731
+ diff["phid"],
732
+ patch,
733
+ diff["baseRevision"],
734
+ commits,
735
+ merged,
736
+ first_public_parent,
715
737
  )
716
738
 
717
739
  # Load full diff when not provided by user
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: libmozdata
3
- Version: 0.2.18
3
+ Version: 0.2.19
4
4
  Summary: Library to access and aggregate several Mozilla data sources.
5
5
  Home-page: https://github.com/mozilla/libmozdata
6
6
  Author: Mozilla Release Management
libmozdata-0.2.18/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.2.18
File without changes
File without changes
File without changes
File without changes