File: winversion.py

package info (click to toggle)
displaycal-py3 3.9.17-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 29,124 kB
  • sloc: python: 115,810; javascript: 11,545; xml: 598; sh: 257; makefile: 173
file content (42 lines) | stat: -rw-r--r-- 1,227 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# -*- coding: utf-8 -*-

import os
import sys
import tempfile

sys.path.insert(
    1,
    os.path.join(
        os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "DisplayCAL"
    ),
)


from DisplayCAL.meta import author, description, DOMAIN, name, version, version_tuple


def mktempver(
    version_template_path, name_=name, description_=description, encoding="UTF-8"
):
    version_template = open(version_template_path, "rb")
    tempver_str = version_template.read().decode(encoding, "replace") % {
        "filevers": str(version_tuple),
        "prodvers": str(version_tuple),
        "CompanyName": DOMAIN,
        "FileDescription": description_,
        "FileVersion": f"{version}",
        "InternalName": name_,
        "LegalCopyright": f"© {author}",
        "OriginalFilename": f"{name_}.exe",
        "ProductName": name_,
        "ProductVersion": f"{version}",
    }
    version_template.close()
    tempdir = tempfile.mkdtemp()
    tempver_path = os.path.join(tempdir, "winversion.txt")
    if not os.path.exists(tempdir):
        os.makedirs(tempdir)
    tempver = open(tempver_path, "wb")
    tempver.write(tempver_str.encode(encoding, "replace"))
    tempver.close()
    return tempver_path