6
6
from distutils.command.build import build
7
7
from distutils.core import setup
8
from DistUtilsExtra.command import *
8
9
from string import Template
10
11
from recent_notifications.Globals import VERSION, WEBSITE
12
class build_servers(distutils.cmd.Command):
13
description = "build bonobo server files"
13
class update_prefix(distutils.cmd.Command):
14
description = "substitute $PREFIX with the current prefix"
16
("server-files=", None, "server.in files that should be built")
17
("files=", None, ".in files that should be updated")
19
20
def initialize_options(self):
20
self.server_files = "[]"
22
23
def finalize_options(self):
27
file_set = eval(self.server_files)
28
file_set = eval(self.files)
29
raise Exception("Invalid server-files option: " + self.server_files)
31
data_files = self.distribution.data_files
33
for (target, files) in file_set:
36
if file.endswith("server.in"):
37
output_file = file[:-3]
39
raise Exception("Invalid server file: " + file)
41
print "building server file", output_file
43
with open(file, "r") as f:
44
server_data = f.read()
46
with open(output_file, "w") as f:
47
f.write(Template(server_data).substitute(PREFIX=distutils.sysconfig.PREFIX))
49
files_built.append(output_file)
50
data_files.append((target, files_built))
52
build.sub_commands.append(("build_servers", None))
30
raise Exception("Invalid files option: " + self.files)
33
if file.endswith(".in"):
34
output_file = file[:-3]
36
raise Exception("Invalid file: " + file)
38
print "updating PREFIX in file", output_file
40
with open(file, "r") as f:
41
server_data = f.read()
43
with open(output_file, "w") as f:
44
f.write(Template(server_data).safe_substitute(PREFIX=distutils.sysconfig.PREFIX))
46
build.sub_commands.append(("update_prefix", None))
55
49
name="recent-notifications",
70
64
"icons/recent-notifications.svg"])
73
"build_servers": build_servers
67
"build": build_extra.build_extra,
68
"build_i18n": build_i18n.build_i18n,
69
"update_prefix": update_prefix