Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
X
xsocs
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
22
Issues
22
List
Boards
Labels
Milestones
JIRA
JIRA
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
kmap
xsocs
Commits
2f8734f3
Commit
2f8734f3
authored
Jul 06, 2018
by
Thomas Vincent
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sync version.py with that of silx
parent
99b797d6
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
74 additions
and
19 deletions
+74
-19
version.py
version.py
+74
-19
No files found.
version.py
View file @
2f8734f3
#!/usr/bin/env python
# coding: utf-8
# /*##########################################################################
#
# Copyright (c) 2015-201
6
European Synchrotron Radiation Facility
# Copyright (c) 2015-201
7
European Synchrotron Radiation Facility
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
...
...
@@ -22,13 +23,48 @@
# THE SOFTWARE.
#
# ###########################################################################*/
"""Unique place where the version number is defined.
"""
"""Unique place where the version number is defined.
provides:
* version = "1.2.3" or "1.2.3-beta4"
* version_info = named tuple (1,2,3,"beta",4)
* hexversion: 0x010203B4
* strictversion = "1.2.3b4
* debianversion = "1.2.3~beta4"
* calc_hexversion: the function to transform a version_tuple into an integer
This is called hexversion since it only really looks meaningful when viewed as the
result of passing it to the built-in hex() function.
The version_info value may be used for a more human-friendly encoding of the same information.
The hexversion is a 32-bit number with the following layout:
Bits (big endian order) Meaning
1-8 PY_MAJOR_VERSION (the 2 in 2.1.0a3)
9-16 PY_MINOR_VERSION (the 1 in 2.1.0a3)
17-24 PY_MICRO_VERSION (the 0 in 2.1.0a3)
25-28 PY_RELEASE_LEVEL (0xA for alpha, 0xB for beta, 0xC for release candidate and 0xF for final)
29-32 PY_RELEASE_SERIAL (the 3 in 2.1.0a3, zero for final releases)
Thus 2.1.0a3 is hexversion 0x020100a3.
"""
from
__future__
import
absolute_import
,
print_function
,
division
__authors__
=
[
"Jérôme Kieffer"
]
__license__
=
"MIT"
__date__
=
"18/10/2016"
__copyright__
=
"European Synchrotron Radiation Facility, Grenoble, France"
__date__
=
"28/02/2018"
__status__
=
"production"
__docformat__
=
'restructuredtext'
__all__
=
[
"date"
,
"version_info"
,
"strictversion"
,
"hexversion"
,
"debianversion"
,
"calc_hexversion"
]
# Do not copy into the source folder !
RELEASE_LEVEL_VALUE
=
{
"dev"
:
0
,
"alpha"
:
10
,
"beta"
:
11
,
"gamma"
:
12
,
"rc"
:
13
,
"final"
:
15
}
MAJOR
=
0
MINOR
=
6
...
...
@@ -36,29 +72,48 @@ MICRO = 0
RELEV
=
"dev"
# <16
SERIAL
=
0
# <16
date
=
__date__
from
collections
import
namedtuple
_version_info
=
namedtuple
(
"version_info"
,
[
"major"
,
"minor"
,
"micro"
,
"releaselevel"
,
"serial"
])
_version_info
=
namedtuple
(
"version_info"
,
[
"major"
,
"minor"
,
"micro"
,
"releaselevel"
,
"serial"
])
version_info
=
_version_info
(
MAJOR
,
MINOR
,
MICRO
,
RELEV
,
SERIAL
)
strictversion
=
version
=
"
%
d.
%
d.
%
d"
%
version_info
[:
3
]
RELEASE_LEVEL_VALUE
=
{
"dev"
:
0
,
"alpha"
:
10
,
"beta"
:
11
,
"rc"
:
12
,
"final"
:
15
}
strictversion
=
version
=
debianversion
=
"
%
d.
%
d.
%
d"
%
version_info
[:
3
]
if
version_info
.
releaselevel
!=
"final"
:
version
+=
"-
%
s
%
s"
%
version_info
[
-
2
:]
debianversion
+=
"~adev
%
i"
%
version_info
[
-
1
]
if
RELEV
==
"dev"
else
"~
%
s
%
i"
%
version_info
[
-
2
:]
prerel
=
"a"
if
RELEASE_LEVEL_VALUE
.
get
(
version_info
[
3
],
0
)
<
10
else
"b"
if
prerel
not
in
"ab"
:
prerel
=
"a"
strictversion
+=
prerel
+
str
(
version_info
[
-
1
])
hexversion
=
version_info
[
4
]
hexversion
|=
RELEASE_LEVEL_VALUE
.
get
(
version_info
[
3
],
0
)
*
1
<<
4
hexversion
|=
version_info
[
2
]
*
1
<<
8
hexversion
|=
version_info
[
1
]
*
1
<<
16
hexversion
|=
version_info
[
0
]
*
1
<<
24
def
calc_hexversion
(
major
=
0
,
minor
=
0
,
micro
=
0
,
releaselevel
=
"dev"
,
serial
=
0
):
"""Calculate the hexadecimal version number from the tuple version_info:
:param major: integer
:param minor: integer
:param micro: integer
:param relev: integer or string
:param serial: integer
:return: integer always increasing with revision numbers
"""
try
:
releaselevel
=
int
(
releaselevel
)
except
ValueError
:
releaselevel
=
RELEASE_LEVEL_VALUE
.
get
(
releaselevel
,
0
)
hex_version
=
int
(
serial
)
hex_version
|=
releaselevel
*
1
<<
4
hex_version
|=
int
(
micro
)
*
1
<<
8
hex_version
|=
int
(
minor
)
*
1
<<
16
hex_version
|=
int
(
major
)
*
1
<<
24
return
hex_version
hexversion
=
calc_hexversion
(
*
version_info
)
if
__name__
==
"__main__"
:
print
(
version
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment