예제 #1
0
 def add(self, data):
     """ add a package to the refused list
     """
     logging.info("Add a package in the refused list : {0}_{1} in version {2}".format(data["type"], data["name"], data["version"]))
     # we do not make any check about unicity here... this is just an history
     # add in the list
     self.json.append(data)
     self.save()
     msg = "Package refused from the submission list: {0}_{1} in version {2} (reason available online)".format(data["type"], data["name"], data["version"])
     logging.info(msg)
     tweet_message(msg)
예제 #2
0
 def add(self, data):
     """ add a package to the refused list
     """
     logging.info(
         "Add a package in the refused list : {0}_{1} in version {2}".
         format(data["type"], data["name"], data["version"]))
     # we do not make any check about unicity here... this is just an history
     # add in the list
     self.json.append(data)
     self.save()
     msg = "Package refused from the submission list: {0}_{1} in version {2} (reason available online)".format(
         data["type"], data["name"], data["version"])
     logging.info(msg)
     tweet_message(msg)
예제 #3
0
 def add(self, data):
     """ add a package to the submission list
     """
     logging.info("Add a package in the submission list : {0}_{1} in version {2}".format(data["type"], data["name"], data["version"]))
     # check unicity
     for pkg in self.json:
        if pkg["type"] == data["type"] and pkg["name"] == data["name"] and  pkg["version"] == data["version"]:
            msg = "This package has already been submitted by {0} (unique key is type/name/version)".format(pkg["submitter"])
            logging.error(msg)
            raise SubmissionError(msg)
     # add in the list
     self.json.append(data)
     self.save()
     msg = "New package in the submission list: {0}_{1} in version {2}".format(data["type"], data["name"], data["version"])
     logging.info(msg)
     tweet_message(msg)
예제 #4
0
 def add(self, data):
     """ add a package to the 'in development' list
         Notice that the version is not needed/used
     """
     logging.info("New 'in development' package : {0}_{1} in version {2}".format(data["type"], data["name"], data["version"]))
     # check unicity
     for pkg in self.json:
         # we don't check the version as this is a non used data (package in dev, so no version)
         if pkg["type"] == data["type"] and pkg["name"] == data["name"]: 
             msg = "This package has already been validated by {0} (unique key is type/name)".format(pkg["submitter"])
             logging.error(msg)
             raise PackagesListError(msg)
             return
     # add in the list
     self.json.append(data)
     self.save()
     msg = "New package in the 'in development' list: {0}_{1}".format(data["type"], data["name"])
     logging.info(msg)
     tweet_message(msg)
예제 #5
0
 def delete(self, type, name, version):
     """ delete a package from the submission list
     """
     logging.info("Delete package : {0}_{1} in version {2}".format(type, name, version))
     # Keep all packages excepting the one
     try:
         self.json_buf = []
         for pkg in self.json:
            if not (pkg["type"] == type and pkg["name"] == name and  pkg["version"] == version):
                self.json_buf.append(pkg)
         # add in the list
         self.json = self.json_buf
         self.save()
         msg = "Package deleted from the packages list: {0}_{1} in version {2}".format(type, name, version)
         logging.info(msg)
         tweet_message(msg)
     except:
         msg = "Unable to remove from the packages list : {0}".format(traceback.format_exc())
         logging.error(msg)
         raise Exception(msg)
예제 #6
0
 def add(self, data):
     """ add a package to the submission list
     """
     logging.info(
         "Add a package in the submission list : {0}_{1} in version {2}".
         format(data["type"], data["name"], data["version"]))
     # check unicity
     for pkg in self.json:
         if pkg["type"] == data["type"] and pkg["name"] == data[
                 "name"] and pkg["version"] == data["version"]:
             msg = "This package has already been submitted by {0} (unique key is type/name/version)".format(
                 pkg["submitter"])
             logging.error(msg)
             raise SubmissionError(msg)
     # add in the list
     self.json.append(data)
     self.save()
     msg = "New package in the submission list: {0}_{1} in version {2}".format(
         data["type"], data["name"], data["version"])
     logging.info(msg)
     tweet_message(msg)
예제 #7
0
    def set_category(self, type, name, version, category):
        """ change the category of a package from the submission list
        """
        the_categories = Categories().list()
        try:
            self.json_buf = []
            for pkg in self.json:
                if pkg["type"] == type and pkg["name"] == name and pkg[
                        "version"] == version:
                    # for 'is_development' category, move in the 'in development' packages json file
                    # for regular categories, just update the json
                    # for 'submission_list' value (hardcoded in the template choices), move in the submission list
                    cat_type = 'regular'
                    if category == 'submission_list':
                        cat_type = 'submission'
                    else:
                        for a_category in the_categories:
                            if a_category['id'] == category:
                                if a_category['is_development']:
                                    cat_type = 'development'
                                break

                    if cat_type == 'regular':
                        pkg["category"] = category
                        self.save()
                        msg = "Package {0}_{1} in version {2} moved to category {3}".format(
                            type, name, version, category)
                        logging.info(msg)
                        tweet_message(msg)
                        break
                    elif cat_type == 'development':
                        # add in the 'in development' list
                        pkg_list = DevelopmentList()
                        pkg_list.add(pkg)
                        # delete in the current list
                        self.delete(type, name, version)
                        msg = "Package {0}_{1} in version {2} moved in the 'in development' packages list".format(
                            type, name, version)
                        logging.info(msg)
                        tweet_message(msg)
                    elif cat_type == 'submission':
                        # add in the submission list
                        pkg_list = SubmissionList()
                        pkg_list.add(pkg)
                        # delete in the current list
                        self.delete(type, name, version)
                        msg = "Package {0}_{1} in version {2} moved back in the submission list".format(
                            type, name, version)
                        logging.info(msg)
                        tweet_message(msg)
                    else:
                        msg = "WTF, I am not able to find in which category I have to move the package!!!"
                        logging.error(msg)
                        raise Exception(msg)

        except:
            msg = "Unable to change the categery for the packages list : {0}".format(
                traceback.format_exc())
            logging.error(msg)
            raise Exception(msg)
예제 #8
0
 def add(self, data):
     """ add a package to the 'in development' list
         Notice that the version is not needed/used
     """
     logging.info(
         "New 'in development' package : {0}_{1} in version {2}".format(
             data["type"], data["name"], data["version"]))
     # check unicity
     for pkg in self.json:
         # we don't check the version as this is a non used data (package in dev, so no version)
         if pkg["type"] == data["type"] and pkg["name"] == data["name"]:
             msg = "This package has already been validated by {0} (unique key is type/name)".format(
                 pkg["submitter"])
             logging.error(msg)
             raise PackagesListError(msg)
             return
     # add in the list
     self.json.append(data)
     self.save()
     msg = "New package in the 'in development' list: {0}_{1}".format(
         data["type"], data["name"])
     logging.info(msg)
     tweet_message(msg)
예제 #9
0
 def delete(self, type, name, version):
     """ delete a package from the submission list
     """
     logging.info("Delete package : {0}_{1} in version {2}".format(
         type, name, version))
     # Keep all packages excepting the one
     try:
         self.json_buf = []
         for pkg in self.json:
             if not (pkg["type"] == type and pkg["name"] == name
                     and pkg["version"] == version):
                 self.json_buf.append(pkg)
         # add in the list
         self.json = self.json_buf
         self.save()
         msg = "Package deleted from the packages list: {0}_{1} in version {2}".format(
             type, name, version)
         logging.info(msg)
         tweet_message(msg)
     except:
         msg = "Unable to remove from the packages list : {0}".format(
             traceback.format_exc())
         logging.error(msg)
         raise Exception(msg)
예제 #10
0
    def set_category(self, type, name, version, category):
        """ change the category of a package from the submission list
        """
        the_categories = Categories().list()
        try:
            self.json_buf = []
            for pkg in self.json:
               if pkg["type"] == type and pkg["name"] == name and  pkg["version"] == version:
                   # for 'is_development' category, move in the 'in development' packages json file
                   # for regular categories, just update the json
                   # for 'submission_list' value (hardcoded in the template choices), move in the submission list
                   cat_type = 'regular'
                   if category == 'submission_list':
                       cat_type = 'submission'
                   else:
                       for a_category in the_categories:
                           if a_category['id'] == category:
                               if a_category['is_development']:
                                   cat_type = 'development'
                               break

                   if cat_type == 'regular':
                       pkg["category"] = category
                       self.save()
                       msg = "Package {0}_{1} in version {2} moved to category {3}".format(type, name, version, category)
                       logging.info(msg)
                       tweet_message(msg)
                       break
                   elif cat_type == 'development':
                       # add in the 'in development' list
                       pkg_list = DevelopmentList()
                       pkg_list.add(pkg)
                       # delete in the current list
                       self.delete(type, name, version)
                       msg = "Package {0}_{1} in version {2} moved in the 'in development' packages list".format(type, name, version)
                       logging.info(msg)
                       tweet_message(msg)
                   elif cat_type == 'submission':
                       # add in the submission list
                       pkg_list = SubmissionList()
                       pkg_list.add(pkg)
                       # delete in the current list
                       self.delete(type, name, version)
                       msg = "Package {0}_{1} in version {2} moved back in the submission list".format(type, name, version)
                       logging.info(msg)
                       tweet_message(msg)
                   else:
                       msg = "WTF, I am not able to find in which category I have to move the package!!!"
                       logging.error(msg)
                       raise Exception(msg)
                    
        except:
            msg = "Unable to change the categery for the packages list : {0}".format(traceback.format_exc())
            logging.error(msg)
            raise Exception(msg)