Ejemplo n.º 1
0
    def _compress(self, config, ip):
        url = ''

        try:
            link = Session.query(Link).filter(Link.configuration==config).first()
            if not link:
                link = Link()
                link.configuration = config
                link.ip = ip

                Session.add(link)
                Session.flush()

                index = link.index

                while index != 0:
                    index, remainder = divmod(index - 1, len(self._valid))
                    url += self._valid[remainder]

                link.url = url
            else:
                url = link.url

            Session.commit()
        except Exception as ex:
            log.exception('Failed to create shortcut for configuration %(configuration)s' % { 'configuration' : config})

        return url