Page Menu
Home
VyOS Platform
Search
Configure Global Search
Log In
Files
F117520369
13-to-14
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
13-to-14
View Options
#!/usr/bin/env python3
# Fixup non existent time-zones. Some systems have time-zone set to: Los*
# (Los_Angeles), Den* (Denver), New* (New_York) ... but those are no real IANA
# assigned time zones. In the past they have been silently remapped.
#
# Time to clean it up!
#
# Migrate all configured timezones to real IANA assigned timezones!
import
re
import
sys
from
vyos.configtree
import
ConfigTree
from
vyos.util
import
cmd
if
(
len
(
sys
.
argv
)
<
1
):
print
(
"Must specify file name!"
)
sys
.
exit
(
1
)
file_name
=
sys
.
argv
[
1
]
with
open
(
file_name
,
'r'
)
as
f
:
config_file
=
f
.
read
()
config
=
ConfigTree
(
config_file
)
tz_base
=
[
'system'
,
'time-zone'
]
if
not
config
.
exists
(
tz_base
):
# Nothing to do
sys
.
exit
(
0
)
else
:
tz
=
config
.
return_value
(
tz_base
)
# retrieve all valid timezones
try
:
tz_datas
=
cmd
(
'find /usr/share/zoneinfo/posix -type f -or -type l | sed -e s:/usr/share/zoneinfo/posix/::'
)
except
OSError
:
tz_datas
=
''
tz_data
=
tz_datas
.
split
(
'
\n
'
)
if
re
.
match
(
r
'[Ll][Oo][Ss].+'
,
tz
):
tz
=
'America/Los_Angeles'
elif
re
.
match
(
r
'[Dd][Ee][Nn].+'
,
tz
):
tz
=
'America/Denver'
elif
re
.
match
(
r
'[Hh][Oo][Nn][Oo].+'
,
tz
):
tz
=
'Pacific/Honolulu'
elif
re
.
match
(
r
'[Nn][Ee][Ww].+'
,
tz
):
tz
=
'America/New_York'
elif
re
.
match
(
r
'[Cc][Hh][Ii][Cc]*.+'
,
tz
):
tz
=
'America/Chicago'
elif
re
.
match
(
r
'[Aa][Nn][Cc].+'
,
tz
):
tz
=
'America/Anchorage'
elif
re
.
match
(
r
'[Pp][Hh][Oo].+'
,
tz
):
tz
=
'America/Phoenix'
elif
re
.
match
(
r
'GMT(.+)?'
,
tz
):
tz
=
'Etc/'
+
tz
elif
tz
not
in
tz_data
:
# assign default UTC timezone
tz
=
'UTC'
# replace timezone data is required
config
.
set
(
tz_base
,
value
=
tz
)
try
:
with
open
(
file_name
,
'w'
)
as
f
:
f
.
write
(
config
.
to_string
())
except
OSError
as
e
:
print
(
"Failed to save the modified config:
{}
"
.
format
(
e
))
sys
.
exit
(
1
)
File Metadata
Details
Attached
Mime Type
text/x-script.python
Expires
Sat, Sep 26, 10:10 AM (1 d, 10 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4284889
Default Alt Text
13-to-14 (1 KB)
Attached To
Mode
rVYOSONEX vyos-1x
Attached
Detach File
Event Timeline
Log In to Comment