Esempio n. 1
0
    def get_url(self, source_url, create=False):
        """Return a database record for a file"""

        import sqlalchemy.orm.exc

        s = self.bundle.database.session

        try:
            o = s.query(File).filter(File.source_url == source_url).one()

        except sqlalchemy.orm.exc.NoResultFound:
            if create:
                o = File(source_url=source_url, path=source_url, process="none")
                s.add(o)
                s.commit()
            else:
                return None

        o.session = s  # Files have SavableMixin
        return o