Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
E
EO Time Series Viewer
Manage
Activity
Members
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Analyze
Contributor analytics
CI/CD analytics
Repository analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Benjamin Jakimow
EO Time Series Viewer
Commits
eb2765e8
Commit
eb2765e8
authored
7 years ago
by
benjamin.jakimow@geo.hu-berlin.de
Browse files
Options
Downloads
Patches
Plain Diff
pb_tool fixes
parent
fc7e9353
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
make/bak_deploy.py
+230
-0
230 additions, 0 deletions
make/bak_deploy.py
make/deploy.py
+10
-8
10 additions, 8 deletions
make/deploy.py
with
240 additions
and
8 deletions
make/bak_deploy.py
0 → 100644
+
230
−
0
View file @
eb2765e8
# -*- coding: utf-8 -*-
"""
***************************************************************************
deploy.py
Script to build the HUB-TimeSeriesViewer from Repository code
---------------------
Date : September 2017
Copyright : (C) 2017 by Benjamin Jakimow
Email : benjamin.jakimow@geo.hu-berlin.de
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************
"""
from
__future__
import
absolute_import
import
os
,
sys
,
re
,
shutil
,
zipfile
,
datetime
import
numpy
as
np
from
pb_tool
import
pb_tool
from
timeseriesviewer
import
DIR_REPO
,
jp
,
file_search
import
timeseriesviewer
DIR_BUILD
=
jp
(
DIR_REPO
,
'
build
'
)
DIR_DEPLOY
=
jp
(
DIR_REPO
,
'
deploy
'
)
#list of deploy options:
# ZIP - add zipped plugin to DIR_DEPLOY
# UNZIPPED - add the non-zipped plugin to DIR_DEPLOY
DEPLOY_OPTIONS
=
[
'
ZIP
'
,
'
UNZIPPED
'
]
ADD_TESTDATA
=
True
#directories below the <enmapbox-repository> folder whose content is to be copied without filtering
PLAIN_COPY_SUBDIRS
=
[
'
site-packages
'
]
########## End of config section
timestamp
=
''
.
join
(
np
.
datetime64
(
datetime
.
datetime
.
now
()).
astype
(
str
).
split
(
'
:
'
)[
0
:
-
1
])
buildID
=
'
{}.{}
'
.
format
(
timeseriesviewer
.
VERSION
,
timestamp
)
dirBuildPlugin
=
jp
(
DIR_BUILD
,
'
timeseriesviewerplugin
'
)
def
rm
(
p
):
"""
Remove files or directory
'
p
'
:param p: path of file or directory to be removed.
"""
if
os
.
path
.
isfile
(
p
):
os
.
remove
(
p
)
elif
os
.
path
.
isdir
(
p
):
shutil
.
rmtree
(
p
)
def
cleanDir
(
d
):
"""
Remove content from directory
'
d
'
:param d: directory to be cleaned.
"""
assert
os
.
path
.
isdir
(
d
)
for
root
,
dirs
,
files
in
os
.
walk
(
d
):
for
p
in
dirs
+
files
:
rm
(
jp
(
root
,
p
))
break
def
mkDir
(
d
,
delete
=
False
):
"""
Make directory.
:param d: path of directory to be created
:param delete: set on True to delete the directory contents, in case the directory already existed.
"""
if
delete
and
os
.
path
.
isdir
(
d
):
cleanDir
(
d
)
if
not
os
.
path
.
isdir
(
d
):
os
.
makedirs
(
d
)
def
patch_pb_tool
(
DIR_DEPLOY
):
#local pb_tool configuration file.
pathCfg
=
jp
(
DIR_REPO
,
'
pb_tool.cfg
'
)
#required to choose andy DIR_DEPLOY of choice
#issue tracker: https://github.com/g-sherman/plugin_build_tool/issues/4
pb_tool
.
get_plugin_directory
=
lambda
:
DIR_DEPLOY
#pb_tool.cli.command = lambda f:f
#Issue 1.: set pb_tool.cfg directly and do not expect current WDir
def
config
():
import
ConfigParser
cfg
=
ConfigParser
.
ConfigParser
()
cfg
.
read
(
pathCfg
)
return
cfg
pb_tool
.
config
=
config
#issue 2: do not expect compiled resource files to end on '_rc.py'
def
compiled_resource
():
return
[]
import
ConfigParser
cfg
=
config
()
try
:
res_files
=
cfg
.
get
(
'
files
'
,
'
resource_files
'
).
split
()
compiled
=
[]
for
res
in
res_files
:
(
base
,
ext
)
=
os
.
path
.
splitext
(
res
)
#CHANGED!!!! no '_rc.py'
compiled
.
append
(
'
{}.py
'
.
format
(
base
))
# print "Compiled resource files: {}".format(compiled)
return
compiled
except
ConfigParser
.
NoSectionError
as
oops
:
print
oops
.
message
sys
.
exit
(
1
)
pb_tool
.
compiled_resource
=
compiled_resource
#Issues:
#def compiled_ui():
# return []
# files = file_search(jp(DIR_REPO,'timeseriesviewer'), '*.ui', recursive=True)
# return files
#pb_tool.compiled_ui = compiled_ui
#Issues:
_deployOld
=
pb_tool
.
deploy
def
deploy
():
#create target directories
plugin_dir
=
os
.
path
.
join
(
pb_tool
.
get_plugin_directory
(),
pb_tool
.
config
().
get
(
'
plugin
'
,
'
name
'
))
install_files
=
pb_tool
.
get_install_files
()
for
file
in
install_files
:
d
=
os
.
path
.
dirname
(
jp
(
plugin_dir
,
file
))
if
not
os
.
path
.
exists
(
d
):
os
.
makedirs
(
d
)
_deployOld
()
pb_tool
.
deploy
=
deploy
#Issue: my 'help' dir is called 'doc'
def
build_docs
():
"""
Build the docs using sphinx
"""
import
subprocess
helpDir
=
jp
(
DIR_REPO
,
'
doc
'
)
#if os.path.exists('help'):
if
os
.
path
.
exists
(
helpDir
):
if
sys
.
platform
==
'
win32
'
:
makeprg
=
'
make.bat
'
else
:
makeprg
=
'
make
'
cwd
=
os
.
getcwd
()
os
.
chdir
(
helpDir
)
subprocess
.
check_call
([
makeprg
,
'
html
'
])
os
.
chdir
(
cwd
)
else
:
print
"
No help directory exists in the current directory
"
pb_tool
.
build_docs
=
build_docs
if
__name__
==
"
__main__
"
:
#the directory to build the "enmapboxplugin" folder
DIR_DEPLOY
=
jp
(
DIR_REPO
,
'
deploy
'
)
mkDir
(
DIR_DEPLOY
)
import
pb_tool
# DIR_DEPLOY = r'E:\_EnMAP\temp\temp_bj\enmapbox_deploys\most_recent_version'
patch_pb_tool
(
DIR_DEPLOY
)
pathCfg
=
jp
(
DIR_REPO
,
'
pb_tool.cfg
'
)
cfg
=
pb_tool
.
config
()
pluginname
=
cfg
.
get
(
'
plugin
'
,
'
name
'
)
if
True
:
#1. clean an existing directory = the timeseriesviewer folder
pb_tool
.
clean_deployment
(
ask_first
=
False
)
#2. Compile. Basically call pyrcc to create the resources.rc file
#I don't know how to call this from pure python
if
False
:
import
subprocess
import
make
os
.
chdir
(
DIR_REPO
)
subprocess
.
call
([
'
pb_tool
'
,
'
compile
'
])
make
.
compile_rc_files
(
DIR_REPO
)
else
:
pb_tool
.
compile_files
()
#3. Deploy = write the data to the new enmapboxplugin folder
os
.
chdir
(
os
.
path
.
dirname
(
pathCfg
))
pb_tool
.
deploy
()
#4. As long as we can not specify in the pb_tool.cfg which file types are not to deploy,
# we need to remove them afterwards.
# issue: https://github.com/g-sherman/plugin_build_tool/issues/5
print
(
'
Remove files...
'
)
for
f
in
file_search
(
DIR_DEPLOY
,
re
.
compile
(
'
(svg|pyc)$
'
),
recursive
=
True
):
os
.
remove
(
f
)
#5. create a zip
print
(
'
Create zipfile...
'
)
from
timeseriesviewer.utils
import
zipdir
pathZip
=
jp
(
DIR_DEPLOY
,
'
{}.{}.zip
'
.
format
(
pluginname
,
timestamp
))
dirPlugin
=
jp
(
DIR_DEPLOY
,
pluginname
)
zipdir
(
dirPlugin
,
pathZip
)
#os.chdir(dirPlugin)
#shutil.make_archive(pathZip, 'zip', '..', dirPlugin)
# 6. copy to local QGIS user DIR
if
True
:
import
shutil
from
os.path
import
expanduser
pathQGIS
=
os
.
path
.
join
(
expanduser
(
"
~
"
),
*
[
'
.qgis2
'
,
'
python
'
,
'
plugins
'
])
assert
os
.
path
.
isdir
(
pathQGIS
)
pathDst
=
os
.
path
.
join
(
pathQGIS
,
os
.
path
.
basename
(
dirPlugin
))
rm
(
pathDst
)
shutil
.
copytree
(
dirPlugin
,
pathDst
)
s
=
""
print
(
'
Finished
'
)
This diff is collapsed.
Click to expand it.
make/deploy.py
+
10
−
8
View file @
eb2765e8
...
@@ -21,6 +21,7 @@
...
@@ -21,6 +21,7 @@
from
__future__
import
absolute_import
from
__future__
import
absolute_import
import
os
,
sys
,
re
,
shutil
,
zipfile
,
datetime
import
os
,
sys
,
re
,
shutil
,
zipfile
,
datetime
from
pb_tool
import
pb_tool
import
numpy
as
np
import
numpy
as
np
from
timeseriesviewer
import
DIR_REPO
,
jp
,
file_search
from
timeseriesviewer
import
DIR_REPO
,
jp
,
file_search
import
timeseriesviewer
import
timeseriesviewer
...
@@ -161,18 +162,19 @@ if __name__ == "__main__":
...
@@ -161,18 +162,19 @@ if __name__ == "__main__":
DIR_DEPLOY
=
jp
(
DIR_REPO
,
'
deploy
'
)
DIR_DEPLOY
=
jp
(
DIR_REPO
,
'
deploy
'
)
mkDir
(
DIR_DEPLOY
)
mkDir
(
DIR_DEPLOY
)
import
pb_tool
# DIR_DEPLOY = r'E:\_EnMAP\temp\temp_bj\enmapbox_deploys\most_recent_version'
# DIR_DEPLOY = r'E:\_EnMAP\temp\temp_bj\enmapbox_deploys\most_recent_version'
patch_pb_tool
(
DIR_DEPLOY
)
#
patch_pb_tool(DIR_DEPLOY)
pathCfg
=
jp
(
DIR_REPO
,
'
pb_tool.cfg
'
)
pathCfg
=
jp
(
DIR_REPO
,
'
pb_tool.cfg
'
)
cfg
=
pb_tool
.
config
()
cfg
=
pb_tool
.
get_config
(
pathCfg
)
cdir
=
os
.
path
.
dirname
(
pathCfg
)
pluginname
=
cfg
.
get
(
'
plugin
'
,
'
name
'
)
pluginname
=
cfg
.
get
(
'
plugin
'
,
'
name
'
)
dirPlugin
=
jp
(
DIR_DEPLOY
,
pluginname
)
if
True
:
if
True
:
#1. clean an existing directory = the timeseriesviewer folder
#1. clean an existing directory = the timeseriesviewer folder
os
.
chdir
(
cdir
)
pb_tool
.
clean_deployment
(
ask_first
=
False
)
pb_tool
.
clean_deployment
(
ask_first
=
False
)
#2. Compile. Basically call pyrcc to create the resources.rc file
#2. Compile. Basically call pyrcc to create the resources.rc file
...
@@ -186,12 +188,12 @@ if __name__ == "__main__":
...
@@ -186,12 +188,12 @@ if __name__ == "__main__":
make
.
compile_rc_files
(
DIR_REPO
)
make
.
compile_rc_files
(
DIR_REPO
)
else
:
else
:
pb_tool
.
compile_files
()
pb_tool
.
compile_files
(
cfg
)
#3. Deploy = write the data to the new enmapboxplugin folder
#3. Deploy = write the data to the new enmapboxplugin folder
os
.
chdir
(
os
.
path
.
dirname
(
pathCfg
))
pb_tool
.
deploy
(
)
pb_tool
.
deploy
_files
(
pathCfg
,
dirPlugin
,
quick
=
True
,
confirm
=
False
)
#4. As long as we can not specify in the pb_tool.cfg which file types are not to deploy,
#4. As long as we can not specify in the pb_tool.cfg which file types are not to deploy,
# we need to remove them afterwards.
# we need to remove them afterwards.
...
@@ -207,7 +209,7 @@ if __name__ == "__main__":
...
@@ -207,7 +209,7 @@ if __name__ == "__main__":
pathZip
=
jp
(
DIR_DEPLOY
,
'
{}.{}.zip
'
.
format
(
pluginname
,
timestamp
))
pathZip
=
jp
(
DIR_DEPLOY
,
'
{}.{}.zip
'
.
format
(
pluginname
,
timestamp
))
dirPlugin
=
jp
(
DIR_DEPLOY
,
pluginname
)
zipdir
(
dirPlugin
,
pathZip
)
zipdir
(
dirPlugin
,
pathZip
)
#os.chdir(dirPlugin)
#os.chdir(dirPlugin)
#shutil.make_archive(pathZip, 'zip', '..', dirPlugin)
#shutil.make_archive(pathZip, 'zip', '..', dirPlugin)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment