2
# -*- coding: utf-8 -*-
4
# Copyright (C) 2009 Canonical
9
# This program is free software; you can redistribute it and/or modify it under
10
# the terms of the GNU General Public License as published by the Free Software
11
# Foundation; version 3.
13
# This program is distributed in the hope that it will be useful, but WITHOUT
14
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
18
# You should have received a copy of the GNU General Public License along with
19
# this program; if not, write to the Free Software Foundation, Inc.,
20
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22
from gi.repository import Gtk
27
import logging.handlers
31
from gettext import gettext as _
32
from optparse import OptionParser
34
from softwarecenter.paths import SOFTWARE_CENTER_CACHE_DIR
35
from softwarecenter.db.database import Application
37
from softwarecenter.backend.reviews.rnr_helpers import (
45
#httplib2.debuglevel = 1
48
if __name__ == "__main__":
50
locale.setlocale(locale.LC_ALL, "")
52
logging.exception("setlocale failed, resetting to C")
53
locale.setlocale(locale.LC_ALL, "C")
55
gettext.bindtextdomain("software-center", "/usr/share/locale")
56
gettext.textdomain("software-center")
58
if os.path.exists("./data/ui/gtk3/submit_review.ui"):
59
default_datadir = "./data"
61
default_datadir = "/usr/share/software-center/"
63
# common options for optparse go here
64
parser = OptionParser()
65
parser.add_option("", "--datadir", default=default_datadir)
67
logfile_path = os.path.join(SOFTWARE_CENTER_CACHE_DIR, "reviews-helper.log")
68
logfile_handler = logging.handlers.RotatingFileHandler(logfile_path,
71
logfile_handler.setLevel(logging.INFO)
72
logging.getLogger().addHandler(logfile_handler)
74
# run review personality
75
if "submit_review" in sys.argv[0]:
77
parser.add_option("-a", "--appname")
78
parser.add_option("-p", "--pkgname")
79
parser.add_option("-i", "--iconname")
80
parser.add_option("-V", "--version")
81
parser.add_option("-O", "--origin")
82
parser.add_option("", "--parent-xid")
83
parser.add_option("", "--test", action="store_true", default=False)
84
parser.add_option("", "--debug",
85
action="store_true", default=False)
86
(options, args) = parser.parse_args()
89
options.pkgname = options.pkgname or 'apt'
90
options.appname = options.appname or 'Apt'
91
options.iconname = options.iconname or 'folder'
92
options.version = options.version or '1.0'
93
options.origin = options.origin or 'Ubuntu'
94
options.parent_xid = options.parent_xid or '1'
96
if not (options.pkgname and options.version):
97
parser.error(_("Missing arguments"))
100
logging.basicConfig(level=logging.DEBUG)
103
logging.debug("submit_review mode")
106
theapp = Application(options.appname, options.pkgname)
107
review_app = SubmitReviewsApp(datadir=options.datadir,
109
parent_xid=options.parent_xid,
110
iconname=options.iconname,
111
origin=options.origin,
112
version=options.version)
116
# run "report" personality
117
if "report_review" in sys.argv[0]:
119
parser.add_option("", "--review-id")
120
parser.add_option("", "--parent-xid")
121
parser.add_option("", "--debug",
122
action="store_true", default=False)
123
(options, args) = parser.parse_args()
125
if not (options.review_id):
126
parser.error(_("Missing review-id arguments"))
129
logging.basicConfig(level=logging.DEBUG)
132
logging.debug("report_abuse mode")
135
report_app = ReportReviewApp(datadir=options.datadir,
136
review_id=options.review_id,
137
parent_xid=options.parent_xid)
140
if "submit_usefulness" in sys.argv[0]:
142
parser.add_option("", "--review-id")
143
parser.add_option("", "--parent-xid")
144
parser.add_option("", "--is-useful")
145
parser.add_option("", "--debug",
146
action="store_true", default=False)
147
(options, args) = parser.parse_args()
149
if not (options.review_id):
150
parser.error(_("Missing review-id arguments"))
153
logging.basicConfig(level=logging.DEBUG)
156
logging.debug("report_abuse mode")
159
usefulness_app = SubmitUsefulnessApp(datadir=options.datadir,
160
review_id=options.review_id,
161
parent_xid=options.parent_xid,
162
is_useful=int(options.is_useful))
165
if "delete_review" in sys.argv[0]:
167
parser.add_option("", "--review-id")
168
parser.add_option("", "--parent-xid")
169
parser.add_option("", "--debug",
170
action="store_true", default=False)
171
(options, args) = parser.parse_args()
173
if not (options.review_id):
174
parser.error(_("Missing review-id argument"))
177
logging.basicConfig(level=logging.DEBUG)
179
logging.debug("delete review mode")
181
delete_app = DeleteReviewApp(datadir=options.datadir,
182
review_id=options.review_id,
183
parent_xid=options.parent_xid)
186
if "modify_review" in sys.argv[0]:
188
parser.add_option("", "--review-id")
189
parser.add_option("-i", "--iconname")
190
parser.add_option("", "--parent-xid")
191
parser.add_option("", "--debug",
192
action="store_true", default=False)
193
(options, args) = parser.parse_args()
195
if not (options.review_id):
196
parser.error(_("Missing review-id argument"))
199
logging.basicConfig(level=logging.DEBUG)
202
logging.debug("modify_review mode")
205
modify_app = SubmitReviewsApp(datadir=options.datadir,
207
parent_xid=options.parent_xid,
208
iconname=options.iconname,
212
review_id=options.review_id