Uh oh!
There was an error while loading. Please reload this page.
forked from coherence-project/Coherence
- Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathsetup.py
More file actions
Latest commit
213 lines (185 loc) · 8.31 KB
/
Copy pathsetup.py
File metadata and controls
213 lines (185 loc) · 8.31 KB
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
# -*- coding: utf-8 -*-
importsys
importos
try:
fromcoherenceimport__version__
exceptImportError:
raiseSystemExit(1)
try:
importsetuptools
fromsetuptoolsimportsetup, find_packages
packages=find_packages()
setuptools=True
except:
setuptools=None
fromdistutils.coreimportsetup
packages= ['coherence',]
deffind_packages(path):
forfinos.listdir(path):
iff[0] =='.':
continue
ifos.path.isdir(os.path.join(path,f)) ==True:
next_path=os.path.join(path,f)
if'__init__.py'inos.listdir(next_path):
packages.append(next_path.replace(os.sep,'.'))
find_packages(next_path)
find_packages('coherence')
fromdistutils.coreimportCommand
fromdistutilsimportlog
classbuild_docs(Command):
description="build documentation from rst-files"
user_options=[]
definitialize_options (self): pass
deffinalize_options (self):
self.docpages=DOCPAGES
defrun(self):
substitutions= ('.. |VERSION| replace:: '
+self.distribution.get_version())
forwriter, rstfilename, outfilenameinself.docpages:
distutils.dir_util.mkpath(os.path.dirname(outfilename))
log.info("creating %s page %s", writer, outfilename)
ifnotself.dry_run:
try:
rsttext=open(rstfilename).read()
exceptIOError, e:
raiseSystemExit(e)
rsttext='\n'.join((substitutions, rsttext))
# docutils.core does not offer easy reading from a
# string into a file, so we need to do it ourself :-(
doc=docutils.core.publish_string(source=rsttext,
source_path=rstfilename,
writer_name=writer)
try:
rsttext=open(outfilename, 'w').write(doc)
exceptIOError, e:
raiseSystemExit(e)
cmdclass= {}
try:
importdocutils.core
importdocutils.io
importdocutils.writers.manpage
importdistutils.command.build
distutils.command.build.build.sub_commands.append(('build_docs', None))
cmdclass['build_docs'] =build_docs
exceptImportError:
log.warn("docutils not installed, can not build man pages. "
"Using pre-build ones.")
DOCPAGES= (
('manpage', 'docs/man/coherence.rst', 'docs/man/coherence.1'),
)
setup_args= {
'name':"Coherence",
'version':__version__,
'description':"""Coherence - DLNA/UPnP framework for the digital living""",
'long_description':"""
Coherence is a framework written in Python, providing a variety of
UPnP MediaServer and UPnP MediaRenderer implementations for instant
use.
It includes an UPnP ControlPoint, which is accessible via D-Bus too.
Furthermore it enables your application to participate in
digital living networks, at the moment primarily the DLNA/UPnP universe.
Its objective and demand is to relieve your application from all the
membership/the UPnP related tasks as much as possible.
New in this %s - the Red-Nosed Reindeer - release
* new MediaServer backends that allow access to
* Banshee - exports audio and video files from Banshees media db
(http://banshee-project.org/)
* FeedStore - a MediaServer serving generic RSS feeds
* Playlist - exposes the list of video/audio streams from a m3u
playlist (e.g. web TV listings published by french ISPs such as
Free, SFR...)
* YAMJ - serves the movie/TV series data files and metadata from a
given YAMJ (Yet Another Movie Jukebox) library
(http://code.google.com/p/moviejukebox/)
* updates on Mirabeau - our "UPnP over XMPP" bridge
* simplifications in the D-Bus API
* a first implementation of an JSON/REST API
* advancements of the GStreamer MediaRenderer, supporting now GStreamers
playbin2
* upgrade of the DVB-Daemon MediaServer
* refinements in the transcoding section, having now the choice to use
GStreamer pipelines or external processes like mencoder
* more 'compatibility' improvements for different devices (e.g.
Samsung TVs or Apache Felix)
* and - as every time - the usual bugfixes and enhancements
Kudos go to:
* Benjamin (lightyear) Kampmann,
* Charlie (porthose) Smotherman
* Dominik (schrei5) Ruf,
* Frank (dev) Scholz,
* Friedrich (frinring) Kossebau,
* Jean-Michel (jmsizun) Sizun,
* Philippe (philn) Normand,
* Sebastian (sebp) Poelsterl,
* Zaheer (zaheerm) Merali
"""%__version__,
'author':"Frank Scholz",
'author_email':'dev@coherence-project.org',
'license' : "MIT",
'packages':packages,
'scripts' : ['bin/coherence','misc/Desktop-Applet/applet-coherence'],
'url' : "http://coherence-project.org",
'download_url' : 'http://coherence-project.org/download/Coherence-%s.tar.gz'%__version__,
'keywords':['UPnP', 'DLNA', 'multimedia', 'gstreamer'],
'classifiers' : ['Development Status :: 5 - Production/Stable',
'Environment :: Console',
'Environment :: Web Environment',
'License :: OSI Approved :: MIT License',
'Operating System :: OS Independent',
'Programming Language :: Python',
],
'package_data' : {
'coherence': ['upnp/core/xml-service-descriptions/*.xml',
'ui/icons/*.png',
'web/static/*.css','web/static/*.js'],
'misc': ['Desktop-Applet/*.png',
'device-icons/*.png'],
},
}
ifsetuptools:
setup_args['install_requires'] = [
'ConfigObj >= 4.3',
'zope.interface',
]
ifsys.platformin ('win32','sunos5'):
setup_args['install_requires'].append('Netifaces >= 0.4')
setup_args['entry_points'] ="""
[coherence.plugins.backend.media_server]
FSStore = coherence.backends.fs_storage:FSStore
MediaStore = coherence.backends.mediadb_storage:MediaStore
ElisaMediaStore = coherence.backends.elisa_storage:ElisaMediaStore
FlickrStore = coherence.backends.flickr_storage:FlickrStore
AxisCamStore = coherence.backends.axiscam_storage:AxisCamStore
BuzztardStore = coherence.backends.buzztard_control:BuzztardStore
IRadioStore = coherence.backends.iradio_storage:IRadioStore
LastFMStore = coherence.backends.lastfm_storage:LastFMStore
AmpacheStore = coherence.backends.ampache_storage:AmpacheStore
TrackerStore = coherence.backends.tracker_storage:TrackerStore
DVBDStore = coherence.backends.dvbd_storage:DVBDStore
AppleTrailersStore = coherence.backends.appletrailers_storage:AppleTrailersStore
LolcatsStore = coherence.backends.lolcats_storage:LolcatsStore
TEDStore = coherence.backends.ted_storage:TEDStore
BBCStore = coherence.backends.bbc_storage:BBCStore
SWR3Store = coherence.backends.swr3_storage:SWR3Store
Gallery2Store = coherence.backends.gallery2_storage:Gallery2Store
YouTubeStore = coherence.backends.youtube_storage:YouTubeStore
MiroGuideStore = coherence.backends.miroguide_storage:MiroGuideStore
ITVStore = coherence.backends.itv_storage:ITVStore
PicasaStore = coherence.backends.picasa_storage:PicasaStore
TestStore = coherence.backends.test_storage:TestStore
PlaylistStore = coherence.backends.playlist_storage:PlaylistStore
YamjStore = coherence.backends.yamj_storage:YamjStore
BansheeStore = coherence.backends.banshee_storage:BansheeStore
FeedStore = coherence.backends.feed_storage:FeedStore
RadiotimeStore = coherence.backends.radiotime_storage:RadiotimeStore
AudioCDStore = coherence.backends.audiocd_storage:AudioCDStore
[coherence.plugins.backend.media_renderer]
ElisaPlayer = coherence.backends.elisa_renderer:ElisaPlayer
GStreamerPlayer = coherence.backends.gstreamer_renderer:GStreamerPlayer
BuzztardPlayer = coherence.backends.buzztard_control:BuzztardPlayer
[coherence.plugins.backend.binary_light]
SimpleLight = coherence.backends.light:SimpleLight
[coherence.plugins.backend.dimmable_light]
BetterLight = coherence.backends.light:BetterLight
"""
setup(cmdclass=cmdclass, **setup_args)