Skip to content
Snippets Groups Projects
c_meta.py 829 B
Newer Older
  • Learn to ignore specific revisions
  • import subprocess
    
    db.define_table(
        'Meta',
        Field('creation', 'datetime', default=request.now),
        Field('git_commit', 'string'),
    
        Field('git_date', 'string'),
        Field('schedule', 'datetime', default=request.now)
    
    )
    
    def getGitCommit(_record):
        try:
            commit = subprocess.check_output(["git", "rev-parse", "HEAD"], cwd=request.folder, encoding="utf-8")[:-1]
        except:
            commit = "Failed to get git commit"
        return(commit)
    
    def getGitDate(_record):
        try:
            date = subprocess.check_output(["git", "log", "-1", "--format=%cd", "--date=iso8601"], cwd=request.folder, encoding="utf-8")[:-7]
        except:
            date = "Failed to get git date"
        return(date)
    
    db.Meta.git_commit.compute = getGitCommit
    db.Meta.git_date.compute = getGitDate
    
    if db(db.Meta).count() == 0:
        db.Meta.insert()