PK!۴7dj_static_revision/__init__.py__version__ = '0.1.3' PK!J2(dj_static_revision/context_processors.py from .utils import get_source_revision REVISION = get_source_revision() def static_revision(request): return {'REVISION': REVISION} PK!NHNNdj_static_revision/utils.pyimport logging from pathlib import Path from dulwich.repo import Repo FILE_NAME_REVISION = '.version' REVISION_LENGTH = 7 logger = logging.getLogger(__name__) def locate_django_manage(): ''' Locate project's manage.py file ''' folder = Path.cwd() # Look for manage.py in current folder or up for i in range(5): p = folder / 'manage.py' if p.exists(): return folder folder = folder.parent raise FileNotFoundError('Django manage.py file not found') def get_source_revision_from_git(folder): dot_git = folder / '.git' if not dot_git.is_dir(): raise OSError('Not a Git working copy') repo = Repo(folder) # We truncate the hash string to 7 characters, # that is also the way Git represents in short form. return repo.head()[:REVISION_LENGTH].decode() def get_source_revision_from_text_file(folder): path = folder / FILE_NAME_REVISION try: content = path.read_text().strip() except IOError: logger.error('Failed to read {}'.format(path)) return 'version-file-missing' return content[:REVISION_LENGTH] def get_source_revision(): folder = locate_django_manage() if (folder / FILE_NAME_REVISION).exists(): return get_source_revision_from_text_file(folder) return get_source_revision_from_git(folder) PK!Hu)GTU(dj_static_revision-0.1.3.dist-info/WHEEL HM K-*ϳR03rOK-J,/R(O-)$qzd&Y)r$UV&UrPK!H+dj_static_revision-0.1.3.dist-info/METADATAUr"7)6ʌ?P 1$KcǰGf%`ʵLD[0gS =67z},츈JO3% &7I_\m,6;\(.^A b$Δn`Z,|C/S/ @ > CxdX'$J1ᄇT=3h&+=\$ORJK0E+mZo] o' DQ27 \xsc6+HbaGwK̫||m=GՉ[O[A[kBm.䜝ւmOwAy_蘡ReBus; }YeܭqG;8ިe/*yl޳F7Ē@`V#|,uO_cQ)'rzv"` ?`tzr>M#ҹçO?-SăWuyIC5/h/:{(M|b^%FW* KT㫷+%>6Ŀ4z5"@c*Aٴ7yiMKqWQC҉mc>O8 ϖ#*C6,c6R ];+zcQµ%^I(¼ٝy酑byA~cKex&аUxRһԉ_e%{t ?~"BD9蘒OxSx9!{m<;:2*r+-kPԯE Mű᪊n(PK!۴7dj_static_revision/__init__.pyPK!J2(Rdj_static_revision/context_processors.pyPK!NHNN%dj_static_revision/utils.pyPK!Hu)GTU(dj_static_revision-0.1.3.dist-info/WHEELPK!H+Fdj_static_revision-0.1.3.dist-info/METADATAPK!HY$8)\ dj_static_revision-0.1.3.dist-info/RECORDPK