~jconti/recent-notifications/trunk

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
#!/usr/bin/env python

import distutils
import distutils.sysconfig

from distutils.command.build import build
from distutils.core import setup
from DistUtilsExtra.command import *
from string import Template

from recent_notifications.Globals import VERSION, WEBSITE

class update_prefix(distutils.cmd.Command):
  description = "substitute $PREFIX with the current prefix"

  user_options = [
      ("files=", None, ".in files that should be updated")
  ]

  def initialize_options(self):
    self.files = "[]"

  def finalize_options(self):
    pass

  def run(self):
    try:
      file_set = eval(self.files)
    except:
      raise Exception("Invalid files option: " + self.files)

    for file in file_set:
      if file.endswith(".in"):
        output_file = file[:-3]
      else:
        raise Exception("Invalid file: " + file)

      print "updating PREFIX in file", output_file

      with open(file, "r") as f:
        server_data = f.read()

      with open(output_file, "w") as f:
        f.write(Template(server_data).safe_substitute(PREFIX=distutils.sysconfig.PREFIX))

build.sub_commands.append(("update_prefix", None))

setup(
    name="recent-notifications",
    version=VERSION,
    author="Jason Conti",
    author_email="jason.conti@gmail.com",
    url=WEBSITE,
    license="GNU General Public License (GPL)",
    packages=["recent_notifications"],
    data_files=[
        ("lib/recent-notifications", ["recent-notifications"]),
        ("share/icons/hicolor/scalable/apps", ["icons/recent-notifications.svg"]),
        ("share/icons/hicolor/scalable/status", [
            "icons/notification-critical.svg",
            "icons/notification-low.svg",
            "icons/notification-normal.svg",
            "icons/humanity-notification-read.svg",
            "icons/humanity-notification-unread.svg",
            "icons/notification-read.svg",
            "icons/notification-unread.svg"])
    ],
    cmdclass={
      "build": build_extra.build_extra,
      "build_i18n": build_i18n.build_i18n,
      "update_prefix": update_prefix
    }
)