コード例 #1
0
ファイル: models.py プロジェクト: westial/minstore
    def create(cls, uid, value, check_sum=None, processes=list()):
        """
        Creates, processes and returns a record
        :param uid: str
        :param value: str
        :param check_sum: str
        :param processes: list
        :return: object
        """
        record = dict()
        record['uid'] = uid
        record['value'] = value
        record['timestamp'] = time.time()

        if not check_sum:
            check_sum = Helpers.sign(value)

        record['check_sum'] = check_sum

        for process in processes:
            process.process(record)

        record['size'] = Helpers.iterable_size(target=record)

        return record
コード例 #2
0
ファイル: models.py プロジェクト: westial/minstore
    def update(self, uid, values):
        """
        Updates a record. Raises an exception if record exists
        :param uid: str
        :param values: dict
        :return: dict
        """
        text = values['value']

        self._valid_exists(uid=uid)

        last_check_sum = self.get_check_sum(uid=uid)

        new_check_sum = Helpers.sign(text)

        if last_check_sum == new_check_sum:
            raise RecordExists('Record has no change')

        record = self.create(uid=uid,
                             value=text,
                             check_sum=new_check_sum,
                             processes=self._processes)

        self._storage.update(record=record)

        return record