Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
cubicweb
cubes
rqlcontroller
Commits
5e087e9ccacf
Commit
e59d9ca1
authored
Feb 06, 2019
by
Denis Laxalde
Browse files
Merge public heads
parents
3f70309f72ba
8345d4f31fb6
Changes
8
Hide whitespace changes
Inline
Side-by-side
MANIFEST.in
View file @
5e087e9c
include *.py
include */*.py
recursive-include data *.gif *.png *.ico *.css *.js
recursive-include i18n *.po
recursive-include wdoc *
include setup.py
include README
recursive-include cubicweb_rqlcontroller *
recursive-include cubicweb_rqlcontroller/data *.gif *.png *.ico *.css *.js
recursive-include cubicweb_rqlcontroller/i18n *.po
recursive-include cubicweb_rqlcontroller/wdoc *
\ No newline at end of file
__init__.py
→
cubicweb_rqlcontroller/
__init__.py
View file @
5e087e9c
File moved
__pkginfo__.py
→
cubicweb_rqlcontroller/
__pkginfo__.py
View file @
5e087e9c
# pylint: disable=W0622
"""cubicweb-rqlcontroller application packaging information"""
from
os.path
import
join
from
glob
import
glob
modname
=
'rqlcontroller'
distname
=
'cubicweb-rqlcontroller'
...
...
@@ -18,7 +14,7 @@ description = 'restfull rql edition capabilities'
web
=
'http://www.cubicweb.org/project/%s'
%
distname
__depends__
=
{
'cubicweb'
:
'>= 3.
19
.0'
,
'cubicweb'
:
'>= 3.
26
.0'
,
'six'
:
None
,
}
__recommends__
=
{
'cubicweb-signedrequest'
:
None
}
...
...
@@ -29,11 +25,3 @@ classifiers = [
'Programming Language :: Python'
,
'Programming Language :: JavaScript'
,
]
THIS_CUBE_DIR
=
join
(
'share'
,
'cubicweb'
,
'cubes'
,
modname
)
data_files
=
[
# common files
[
THIS_CUBE_DIR
,
[
fname
for
fname
in
glob
(
'*.py'
)
if
fname
!=
'setup.py'
]],
]
i18n/en.po
→
cubicweb_rqlcontroller/
i18n/en.po
View file @
5e087e9c
File moved
i18n/es.po
→
cubicweb_rqlcontroller/
i18n/es.po
View file @
5e087e9c
File moved
i18n/fr.po
→
cubicweb_rqlcontroller/
i18n/fr.po
View file @
5e087e9c
File moved
views.py
→
cubicweb_rqlcontroller/
views.py
View file @
5e087e9c
File moved
setup.py
View file @
5e087e9c
#!/usr/bin/env python
# pylint: disable=W0142,W0403,W0404,W0613,W0622,W0622,W0704,R0904,C0103,E0611
#
# copyright 2003-201
8
LOGILAB S.A. (Paris, FRANCE), all rights reserved.
# copyright 2003-201
6
LOGILAB S.A. (Paris, FRANCE), all rights reserved.
# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
#
# This file is part of
c
ubic
w
eb
-rqlcontroller
.
# This file is part of
a C
ubic
W
eb
cube
.
#
# CubicWeb is free software: you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License as published by the Free
...
...
@@ -18,196 +18,66 @@
#
# You should have received a copy of the GNU Lesser General Public License
# along with CubicWeb. If not, see <http://www.gnu.org/licenses/>.
"""Generic Setup script, takes package info from __pkginfo__.py file
"""cubicweb_rqlcontroller setup module using data from
cubicweb_rqlcontroller/__pkginfo__.py file
"""
__docformat__
=
"restructuredtext en"
import
os
import
sys
import
shutil
from
os.path
import
exists
,
join
,
dirname
from
os.path
import
join
,
dirname
from
setuptools
import
find_packages
,
setup
try
:
if
os
.
environ
.
get
(
'NO_SETUPTOOLS'
):
raise
ImportError
()
# do as there is no setuptools
from
setuptools
import
setup
from
setuptools.command
import
install_lib
USE_SETUPTOOLS
=
True
except
ImportError
:
from
distutils.core
import
setup
from
distutils.command
import
install_lib
USE_SETUPTOOLS
=
False
from
distutils.command
import
install_data
here
=
dirname
(
__file__
)
# load metadata from the __pkginfo__.py file so there is no risk of conflict
# see https://packaging.python.org/en/latest/single_source_version.html
base_dir
=
dirname
(
__file__
)
pkginfo
=
{}
with
open
(
join
(
base_dir
,
"__pkginfo__.py"
)
)
as
f
:
exec
(
f
.
read
(),
pkginfo
)
pkginfo
=
join
(
here
,
'cubicweb_rqlcontroller'
,
'__pkginfo__.py'
)
__
pkginfo
__
=
{}
with
open
(
pkginfo
)
as
f
:
exec
(
f
.
read
(),
__
pkginfo
__
)
# get required metadatas
mod
name
=
pkginfo
[
'mod
name'
]
version
=
pkginfo
[
'version'
]
license
=
pkginfo
[
'license'
]
description
=
pkginfo
[
'description'
]
web
=
pkginfo
[
'web'
]
author
=
pkginfo
[
'author'
]
author_email
=
pkginfo
[
'author_email'
]
classifiers
=
pkginfo
[
'classifiers'
]
with
open
(
join
(
base_dir
,
'README'
))
as
f
:
dist
name
=
__
pkginfo
__
[
'dist
name'
]
version
=
__
pkginfo
__
[
'version'
]
license
=
__
pkginfo
__
[
'license'
]
description
=
__
pkginfo
__
[
'description'
]
web
=
__
pkginfo
__
[
'web'
]
author
=
__
pkginfo
__
[
'author'
]
author_email
=
__
pkginfo
__
[
'author_email'
]
classifiers
=
__
pkginfo
__
[
'classifiers'
]
with
open
(
join
(
here
,
'README'
))
as
f
:
long_description
=
f
.
read
()
# get optional metadatas
distname
=
pkginfo
.
get
(
'distname'
,
modname
)
scripts
=
pkginfo
.
get
(
'scripts'
,
())
include_dirs
=
pkginfo
.
get
(
'include_dirs'
,
())
data_files
=
pkginfo
.
get
(
'data_files'
,
None
)
ext_modules
=
pkginfo
.
get
(
'ext_modules'
,
None
)
dependency_links
=
pkginfo
.
get
(
'dependency_links'
,
())
if
USE_SETUPTOOLS
:
requires
=
{}
for
entry
in
(
"__depends__"
,):
# "__recommends__"):
requires
.
update
(
pkginfo
.
get
(
entry
,
{}))
install_requires
=
[(
"%s %s"
%
(
d
,
v
and
v
or
""
)).
strip
()
for
d
,
v
in
requires
.
items
()]
else
:
install_requires
=
[]
BASE_BLACKLIST
=
(
'CVS'
,
'.svn'
,
'.hg'
,
'.git'
,
'debian'
,
'dist'
,
'build'
)
IGNORED_EXTENSIONS
=
(
'.pyc'
,
'.pyo'
,
'.elc'
,
'~'
)
def
ensure_scripts
(
linux_scripts
):
"""
Creates the proper script names required for each platform
(taken from 4Suite)
"""
from
distutils
import
util
if
util
.
get_platform
()[:
3
]
==
'win'
:
scripts_
=
[
script
+
'.bat'
for
script
in
linux_scripts
]
else
:
scripts_
=
linux_scripts
return
scripts_
def
export
(
from_dir
,
to_dir
,
blacklist
=
BASE_BLACKLIST
,
ignore_ext
=
IGNORED_EXTENSIONS
,
verbose
=
True
):
try
:
os
.
mkdir
(
to_dir
)
except
OSError
as
ex
:
# file exists ?
import
errno
if
ex
.
errno
!=
errno
.
EEXIST
:
raise
for
dirpath
,
dirnames
,
filenames
in
os
.
walk
(
from_dir
):
for
norecurs
in
blacklist
:
try
:
dirnames
.
remove
(
norecurs
)
except
ValueError
:
pass
for
dir_name
in
dirnames
:
dest
=
join
(
to_dir
,
dir_name
)
if
not
exists
(
dest
):
os
.
mkdir
(
dest
)
for
filename
in
filenames
:
# don't include binary files
src
=
join
(
dirpath
,
filename
)
dest
=
to_dir
+
src
[
len
(
from_dir
):]
if
filename
[
-
4
:]
in
ignore_ext
:
continue
if
filename
[
-
1
]
==
'~'
:
continue
if
exists
(
dest
):
os
.
remove
(
dest
)
if
verbose
:
sys
.
stderr
.
write
(
'%s -> %s
\n
'
%
(
src
,
dest
))
shutil
.
copy2
(
src
,
dest
)
class
MyInstallLib
(
install_lib
.
install_lib
):
"""extend install_lib command to handle package __init__.py and
include_dirs variable if necessary
"""
def
run
(
self
):
"""overridden from install_lib class"""
install_lib
.
install_lib
.
run
(
self
)
# manually install included directories if any
if
include_dirs
:
base
=
modname
for
directory
in
include_dirs
:
dest
=
join
(
self
.
install_dir
,
base
,
directory
)
export
(
directory
,
dest
,
verbose
=
False
)
# re-enable copying data files in sys.prefix
old_install_data
=
install_data
.
install_data
if
USE_SETUPTOOLS
:
# overwrite InstallData to use sys.prefix instead of the egg directory
class
MyInstallData
(
old_install_data
):
"""A class that manages data files installation"""
def
run
(
self
):
_old_install_dir
=
self
.
install_dir
if
self
.
install_dir
.
endswith
(
'egg'
):
self
.
install_dir
=
sys
.
prefix
old_install_data
.
run
(
self
)
self
.
install_dir
=
_old_install_dir
try
:
# only if easy_install available
import
setuptools.command.easy_install
# noqa
# monkey patch: Crack SandboxViolation verification
from
setuptools.sandbox
import
DirectorySandbox
as
DS
old_ok
=
DS
.
_ok
def
_ok
(
self
,
path
):
"""Return True if ``path`` can be written during installation."""
out
=
old_ok
(
self
,
path
)
# here for side effect from setuptools
realpath
=
os
.
path
.
normcase
(
os
.
path
.
realpath
(
path
))
allowed_path
=
os
.
path
.
normcase
(
sys
.
prefix
)
if
realpath
.
startswith
(
allowed_path
):
out
=
True
return
out
DS
.
_ok
=
_ok
except
ImportError
:
pass
def
install
(
**
kwargs
):
"""setup entry point"""
if
USE_SETUPTOOLS
:
if
'--force-manifest'
in
sys
.
argv
:
sys
.
argv
.
remove
(
'--force-manifest'
)
# install-layout option was introduced in 2.5.3-1~exp1
elif
sys
.
version_info
<
(
2
,
5
,
4
)
and
'--install-layout=deb'
in
sys
.
argv
:
sys
.
argv
.
remove
(
'--install-layout=deb'
)
cmdclass
=
{
'install_lib'
:
MyInstallLib
}
if
USE_SETUPTOOLS
:
kwargs
[
'install_requires'
]
=
install_requires
kwargs
[
'dependency_links'
]
=
dependency_links
kwargs
[
'zip_safe'
]
=
False
cmdclass
[
'install_data'
]
=
MyInstallData
return
setup
(
name
=
distname
,
version
=
version
,
license
=
license
,
description
=
description
,
long_description
=
long_description
,
author
=
author
,
author_email
=
author_email
,
url
=
web
,
scripts
=
ensure_scripts
(
scripts
),
data_files
=
data_files
,
ext_modules
=
ext_modules
,
cmdclass
=
cmdclass
,
classifiers
=
classifiers
,
**
kwargs
)
if
__name__
==
'__main__'
:
install
()
data_files
=
__pkginfo__
.
get
(
'data_files'
,
None
)
dependency_links
=
__pkginfo__
.
get
(
'dependency_links'
,
())
requires
=
{}
for
entry
in
(
"__depends__"
,):
# "__recommends__"):
requires
.
update
(
__pkginfo__
.
get
(
entry
,
{}))
install_requires
=
[
"{0} {1}"
.
format
(
d
,
v
and
v
or
""
).
strip
()
for
d
,
v
in
requires
.
items
()]
setup
(
name
=
distname
,
version
=
version
,
license
=
license
,
description
=
description
,
long_description
=
long_description
,
author
=
author
,
author_email
=
author_email
,
url
=
web
,
classifiers
=
classifiers
,
packages
=
find_packages
(
exclude
=
[
'test'
]),
install_requires
=
install_requires
,
include_package_data
=
True
,
entry_points
=
{
'cubicweb.cubes'
:
[
'rqlcontroller=cubicweb_rqlcontroller'
,
],
},
zip_safe
=
False
,
)
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