Lines Matching refs:pfmri
462 def add(self, pfmri=None, metadata=None, op_time=None, pub=None,
473 assert pfmri or (pub and stem and ver)
474 if pfmri and not pfmri.publisher:
475 raise api_errors.AnarchicalCatalogFMRI(str(pfmri))
482 if pfmri:
483 pub, stem, ver = pfmri.tuple()
490 if not pfmri:
491 pfmri = "pkg://{0}/{1}@{2}".format(pub,
494 pfmri, operation="add",
505 self.sort(pfmris=set([pfmri]))
575 pfmri = fmri.PkgFmri(name=name, publisher=pub,
578 versions[sver] = pfmri.version
580 entries[sver].append((pfmri, entry))
642 pfmri = fmri.PkgFmri(name=name, publisher=pub,
645 versions[sver] = pfmri.version
647 entries[sver].append(pfmri)
652 def get_entry(self, pfmri=None, pub=None, stem=None, ver=None):
656 assert pfmri or (pub and stem and ver)
657 if pfmri and not pfmri.publisher:
658 raise api_errors.AnarchicalCatalogFMRI(str(pfmri))
665 if pfmri:
666 pub, stem, ver = pfmri.tuple()
783 def remove(self, pfmri, op_time=None):
786 if not pfmri.publisher:
787 raise api_errors.AnarchicalCatalogFMRI(pfmri.get_fmri())
790 pkg_list = self.__data.get(pfmri.publisher, None)
792 raise api_errors.UnknownCatalogEntry(pfmri.get_fmri())
794 ver = str(pfmri.version)
795 ver_list = pkg_list.get(pfmri.pkg_name, [])
805 del pkg_list[pfmri.pkg_name]
810 del self.__data[pfmri.publisher]
813 raise api_errors.UnknownCatalogEntry(pfmri.get_fmri())
988 def add(self, pfmri, operation, op_time, metadata=None):
1005 if not pfmri.publisher:
1006 raise api_errors.AnarchicalCatalogFMRI(pfmri.get_fmri())
1012 self.__data.setdefault(pfmri.publisher, {})
1013 pkg_list = self.__data[pfmri.publisher]
1015 pkg_list.setdefault(pfmri.pkg_name, [])
1016 ver_list = pkg_list[pfmri.pkg_name]
1024 entry["version"] = str(pfmri.version)
1093 pfmri = fmri.PkgFmri(name=stem, publisher=pub,
1095 return (pfmri, entry["op-type"], op_time, mdata)
1459 def __append(self, src, cb=None, pfmri=None, pubs=EmptyI):
1465 if pfmri:
1466 raise api_errors.UnknownCatalogEntry(pfmri)
1479 if pfmri:
1480 entry = src_base.get_entry(pfmri)
1483 pfmri.get_fmri())
1484 entries = [(pfmri, entry)]
1510 if d and pfmri:
1511 # If the 'd'iscards dict is populated and pfmri is
1527 if pfmri:
1528 entry = part.get_entry(pfmri)
1532 entries = [(pfmri, entry)]
1654 def __gen_actions(pfmri, actions, excludes=EmptyI):
1656 if not isinstance(pfmri, fmri.PkgFmri):
1657 # pfmri is assumed to be a FMRI tuple.
1658 pub, stem, ver = pfmri
1660 pub = pfmri.publisher
1672 if not isinstance(pfmri, fmri.PkgFmri):
1673 pfmri = fmri.PkgFmri(name=stem,
1675 e.fmri = pfmri
1755 def __log_update(self, pfmri, operation, op_time, entries=None):
1787 ulog.add(pfmri, operation, metadata=metadata,
2071 'pfmri' is an optional FMRI to limit the returned results to.
2080 def add_package(self, pfmri, manifest=None, metadata=None):
2152 entries[part.name] = part.add(pfmri, metadata=entry,
2182 pfmri, metadata=entry,
2185 self.__log_update(pfmri, CatalogUpdate.ADD, op_time,
2190 def append(self, src, cb=None, pfmri=None, pubs=EmptyI):
2206 'pfmri' is an optional FMRI of a package to append. If not
2228 self.__append(src, cb=cb, pfmri=pfmri, pubs=pubs)
2250 for pfmri, op_type, op_time, metadata in ulog.updates():
2267 part.add(pfmri, metadata=pdata,
2270 part.remove(pfmri,
2594 'pfmri' is an optional FMRI to limit the returned results to.
2686 def get_entry(self, pfmri, info_needed=EmptyI, locales=None):
2741 bentry = base.get_entry(pfmri)
2764 entry = part.get_entry(pfmri)
2772 def get_entry_actions(self, pfmri, info_needed, excludes=EmptyI,
2807 entry = self.get_entry(pfmri, info_needed=info_needed,
2810 raise api_errors.UnknownCatalogEntry(pfmri.get_fmri())
2813 return self.__gen_actions(pfmri, entry["actions"],
2818 def get_entry_all_variants(self, pfmri):
2825 entry = self.get_entry(pfmri, info_needed=info_needed)
2827 raise api_errors.UnknownCatalogEntry(pfmri.get_fmri())
2830 actions = self.__gen_actions(pfmri, entry["actions"])
2843 def get_entry_signatures(self, pfmri):
2850 entry = self.get_entry(pfmri)
2852 raise api_errors.UnknownCatalogEntry(pfmri.get_fmri())
2859 def get_entry_variants(self, pfmri, name):
2864 for var_name, values in self.get_entry_all_variants(pfmri):
2915 for pat, error, pfmri, matcher in self.__parse_fmri_patterns(
2922 sfmri = str(pfmri)
2934 if getattr(pfmri.version, "match_latest", None):
2936 pat_tuples[pat] = (pfmri.tuple(), matcher)
3146 pfmri = fmri.PkgFmri(name=stem, publisher=pub,
3148 yield (pfmri, states, attrs)
3212 for pat, error, pfmri, matcher in self.__parse_fmri_patterns(
3219 sfmri = str(pfmri)
3230 if "*" in pfmri.pkg_name or "?" in pfmri.pkg_name:
3233 if getattr(pfmri.version, "match_latest", None):
3235 pat_data.append((pat, matcher, pfmri))
3248 for pat, matcher, pfmri in pat_data:
3249 pub = pfmri.publisher
3250 version = pfmri.version
3251 if not matcher(name, pfmri.pkg_name):
3605 def remove_package(self, pfmri):
3626 pkg_entry = part.get_entry(pfmri)
3632 pfmri.get_fmri())
3637 part.remove(pfmri, op_time=op_time)
3641 self.__log_update(pfmri, CatalogUpdate.REMOVE, op_time,
3766 def update_entry(self, metadata, pfmri=None, pub=None, stem=None,
3776 'pfmri' is the FMRI of the package to update the entry for.
3784 'pfmri' or 'pub', 'stem', and 'ver' must be provided.
3787 assert pfmri or (pub and stem and ver)
3792 if not pfmri:
3793 pfmri = fmri.PkgFmri(name=stem, publisher=pub,
3795 raise api_errors.UnknownCatalogEntry(pfmri.get_fmri())
3799 entry = base.get_entry(pfmri=pfmri, pub=pub, stem=stem, ver=ver)
3801 if not pfmri:
3802 pfmri = fmri.PkgFmri(name=stem, publisher=pub,
3804 raise api_errors.UnknownCatalogEntry(pfmri.get_fmri())