Example #1
0
File: asset.py Project: 0pt1on/noc
 def register_unknown_part_no(self, vendor, part_no, descripton):
     """
     Register missed part number
     """
     if not isinstance(part_no, list):
         part_no = [part_no]
     for p in part_no:
         if p not in self.unknown_part_no:
             self.unknown_part_no[p] = set()
         for pp in part_no:
             self.unknown_part_no[p].add(pp)
         UnknownModel.mark_unknown(vendor.code, self.object, p, descripton)
Example #2
0
 def register_unknown_part_no(self, vendor: "Vendor",
                              part_no: Union[List[str], str],
                              descripton: Optional[str]):
     """
     Register missed part number
     """
     if not isinstance(part_no, list):
         part_no = [part_no]
     for p in part_no:
         if p not in self.unknown_part_no:
             self.unknown_part_no[p] = set()
         for pp in part_no:
             self.unknown_part_no[p].add(pp)
         UnknownModel.mark_unknown(vendor.code[0], self.object, p,
                                   descripton)
Example #3
0
File: views.py Project: nbashev/noc
 def get_data(self, **kwargs):
     data = {}  # vendor, part_no -> description, count
     for c in UnknownModel._get_collection().find():
         vendor = c["vendor"]
         if isinstance(c["vendor"], list):
             # Fix for bad vendor code in DB
             vendor = c["vendor"][0]
         k = (vendor, c["part_no"])
         if k in data:
             data[k][1] += 1
         else:
             data[k] = [c["description"], 1]
     data = sorted(((k[0], k[1], data[k][0], data[k][1]) for k in data),
                   key=lambda x: -x[3])
     return self.from_dataset(
         title=self.title,
         columns=[
             "Vendor",
             "Part No",
             "Description",
             TableColumn("Count",
                         format="numeric",
                         align="right",
                         total="sum"),
         ],
         data=data,
     )