Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Avatar for KuCalc : devops.
Download
50595 views
#!/usr/bin/env python

import argparse, os, time

TARGET = os.path.join(os.environ['SALVUS_ROOT'], "smc-util/smc-version.js")

def write_version_file(force_browser=False, force_project=False):
    # Create version file, based on the current time
    now = int(time.time())
    v = []
    v.append("/* autogenerated by the update_version script */")
    v.append("exports.version=%s;"%now)

    x = open(TARGET).readlines()
    def min_ver(force, who):
        if force:
            # update client version
            v.append("exports.min_%s_version=%s;"%(who,now))
        else:
            # use existing version, if defined
            for a in x:
                if 'min_%s_version'%who in a:
                    v.append(a)
                    return

    min_ver(force_browser, 'browser')
    min_ver(force_project, 'project')
    open(TARGET,'w').write('\n'.join(v) + '\n')

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='Update SMC version number')
    parser.add_argument('--browser',  help='Browser clients will be required to update before they can do anything', action='store_true', default=False)
    parser.add_argument('--project', help='Project clients will be required to update before they can do anything', action='store_true', default=False)
    args = parser.parse_args()
    write_version_file(args.browser, args.project)