Files
@ 15e507047bae
Branch filter:
Location: kallithea/rhodecode/lib/dbmigrate/migrate/versioning/util/keyedinstance.py - annotation
15e507047bae
1.1 KiB
text/x-python
Incorporate CSS from select2-bootstrap-css & its license information.
RhodeCode 2.2.5 included a modified version of this upstream work. We
include herein the upstream version as downloaded and incorporated using the
following commands:
(cd /tmp; \
git clone https://github.com/t0m/select2-bootstrap-css
)
cp /tmp/select2-bootstrap-css/select2-bootstrap.css rhodecode/public/js/select2/
The content used to be appended to select2.css but we now keep it in a separate
file select2-bootstrap.css . This file could be included in root.html like
select2.css but we do currently not want to use bootstrap.
The license info was incorporated from /tmp/select2-bootstrap-css/LICENSE
into our LICENSE.md file.
RhodeCode 2.2.5 included a modified version of this upstream work. We
include herein the upstream version as downloaded and incorporated using the
following commands:
(cd /tmp; \
git clone https://github.com/t0m/select2-bootstrap-css
)
cp /tmp/select2-bootstrap-css/select2-bootstrap.css rhodecode/public/js/select2/
The content used to be appended to select2.css but we now keep it in a separate
file select2-bootstrap.css . This file could be included in root.html like
select2.css but we do currently not want to use bootstrap.
The license info was incorporated from /tmp/select2-bootstrap-css/LICENSE
into our LICENSE.md file.
9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 6832ef664673 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 6832ef664673 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 9753e0907827 | #!/usr/bin/env python
# -*- coding: utf-8 -*-
class KeyedInstance(object):
"""A class whose instances have a unique identifier of some sort
No two instances with the same unique ID should exist - if we try to create
a second instance, the first should be returned.
"""
_instances = dict()
def __new__(cls, *p, **k):
instances = cls._instances
clskey = str(cls)
if clskey not in instances:
instances[clskey] = dict()
instances = instances[clskey]
key = cls._key(*p, **k)
if key not in instances:
instances[key] = super(KeyedInstance, cls).__new__(cls)
return instances[key]
@classmethod
def _key(cls, *p, **k):
"""Given a unique identifier, return a dictionary key
This should be overridden by child classes, to specify which parameters
should determine an object's uniqueness
"""
raise NotImplementedError()
@classmethod
def clear(cls):
# Allow cls.clear() as well as uniqueInstance.clear(cls)
if str(cls) in cls._instances:
del cls._instances[str(cls)]
|