PK! qdj_static_revision/__init__.py__version__ = '0.1.0' 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.2.dist-info/WHEEL HM K-*ϳR03rOK-J,/R(O-)$qzd&Y)r$UV&UrPK!Hf+dj_static_revision-0.1.2.dist-info/METADATAUr"7+6ʌI*qB %c#fHf0c cd$`Tyu4׭ׯ,a6B4  Y2+PR8+٢6ɨ2W-]@ȩ]09STQs6sksӪ'N[>Wr`3 K"Ҡ{'gM ojtb\;4t ;WYO o>K⟿򌉴rF]"e̝Xe(&Y!)hҳ L1b*8^ѓJf\Zh>y~}g=a;uz=cչV%OܷgFjjL tFސ ,t xzb^=~%-;]^T回 D3-yJ%ESXU.E<6JGzr7hA3[؆nnreUz|ZK%-&W9[.8Kp`,-S5$PSDay\)!0O8C1P8WQt PK!H'mn9)dj_static_revision-0.1.2.dist-info/RECORD;r@޳ "QA+UӧrƙXx"F]z/H)BESP߁!y$Ha刴c};yX=P@.|eƴb@sY}30I1nhqJ %UZ ee_U ɽTBH;F