finished unittests for plugin date
finished unittests for plugin disks finished unittests for plugin help finished unittests for plugin language_selection finished unittests for plugin logs finished unittests for plugin network finished unittests for plugin plugin_manager finished unittests for plugin shutdown finished unittests for plugin system_preferences finished unittests for plugin user_manager added english 'translations' to all plugins (by copying msgid to msgstr)
This commit is contained in:
parent
8dea8e0b0e
commit
76e5366619
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.plugins.base
|
import cryptobox.plugins.base
|
||||||
|
|
||||||
|
|
||||||
|
@ -8,7 +28,7 @@ class date(cryptobox.plugins.base.CryptoBoxPlugin):
|
||||||
requestAuth = False
|
requestAuth = False
|
||||||
rank = 10
|
rank = 10
|
||||||
|
|
||||||
def doAction(self, store=None, year=None, month=None, day=None, hour=None, minute=None):
|
def doAction(self, store=None, year=0, month=0, day=0, hour=0, minute=0):
|
||||||
import datetime
|
import datetime
|
||||||
if store:
|
if store:
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -4,100 +4,100 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
||||||
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
||||||
"POT-Creation-Date: 2006-11-28 05:04+0100\n"
|
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2006-11-29 19:31+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: Lars Kruse <devel@sumpfralle.de>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
"X-Generator: Pootle 0.10.1\n"
|
||||||
|
|
||||||
#: Name
|
#: Name
|
||||||
msgid "Change date and time"
|
msgid "Change date and time"
|
||||||
msgstr ""
|
msgstr "Change date and time"
|
||||||
|
|
||||||
#: Link
|
#: Link
|
||||||
msgid "Set date/time"
|
msgid "Set date/time"
|
||||||
msgstr ""
|
msgstr "Set date/time"
|
||||||
|
|
||||||
#: Title.ConfigDate
|
#: Title.ConfigDate
|
||||||
msgid "Date and time setting"
|
msgid "Date and time setting"
|
||||||
msgstr ""
|
msgstr "Date and time setting"
|
||||||
|
|
||||||
#: Button.ConfigDate
|
#: Button.ConfigDate
|
||||||
msgid "Set date and time"
|
msgid "Set date and time"
|
||||||
msgstr ""
|
msgstr "Set date and time"
|
||||||
|
|
||||||
#: Text.Date
|
#: Text.Date
|
||||||
msgid "Date"
|
msgid "Date"
|
||||||
msgstr ""
|
msgstr "Date"
|
||||||
|
|
||||||
#: Text.Time
|
#: Text.Time
|
||||||
msgid "Time"
|
msgid "Time"
|
||||||
msgstr ""
|
msgstr "Time"
|
||||||
|
|
||||||
#: Text.Months.1
|
#: Text.Months.1
|
||||||
msgid "January"
|
msgid "January"
|
||||||
msgstr ""
|
msgstr "January"
|
||||||
|
|
||||||
#: Text.Months.2
|
#: Text.Months.2
|
||||||
msgid "February"
|
msgid "February"
|
||||||
msgstr ""
|
msgstr "February"
|
||||||
|
|
||||||
#: Text.Months.3
|
#: Text.Months.3
|
||||||
msgid "March"
|
msgid "March"
|
||||||
msgstr ""
|
msgstr "March"
|
||||||
|
|
||||||
#: Text.Months.4
|
#: Text.Months.4
|
||||||
msgid "April"
|
msgid "April"
|
||||||
msgstr ""
|
msgstr "April"
|
||||||
|
|
||||||
#: Text.Months.5
|
#: Text.Months.5
|
||||||
msgid "May"
|
msgid "May"
|
||||||
msgstr ""
|
msgstr "May"
|
||||||
|
|
||||||
#: Text.Months.6
|
#: Text.Months.6
|
||||||
msgid "June"
|
msgid "June"
|
||||||
msgstr ""
|
msgstr "June"
|
||||||
|
|
||||||
#: Text.Months.7
|
#: Text.Months.7
|
||||||
msgid "July"
|
msgid "July"
|
||||||
msgstr ""
|
msgstr "July"
|
||||||
|
|
||||||
#: Text.Months.8
|
#: Text.Months.8
|
||||||
msgid "August"
|
msgid "August"
|
||||||
msgstr ""
|
msgstr "August"
|
||||||
|
|
||||||
#: Text.Months.9
|
#: Text.Months.9
|
||||||
msgid "September"
|
msgid "September"
|
||||||
msgstr ""
|
msgstr "September"
|
||||||
|
|
||||||
#: Text.Months.10
|
#: Text.Months.10
|
||||||
msgid "October"
|
msgid "October"
|
||||||
msgstr ""
|
msgstr "October"
|
||||||
|
|
||||||
#: Text.Months.11
|
#: Text.Months.11
|
||||||
msgid "November"
|
msgid "November"
|
||||||
msgstr ""
|
msgstr "November"
|
||||||
|
|
||||||
#: Text.Months.12
|
#: Text.Months.12
|
||||||
msgid "December"
|
msgid "December"
|
||||||
msgstr ""
|
msgstr "December"
|
||||||
|
|
||||||
#: SuccessMessage.DateChanged.Title
|
#: SuccessMessage.DateChanged.Title
|
||||||
msgid "Date changed"
|
msgid "Date changed"
|
||||||
msgstr ""
|
msgstr "Date changed"
|
||||||
|
|
||||||
#: SuccessMessage.DateChanged.Text
|
#: SuccessMessage.DateChanged.Text
|
||||||
msgid "The date was changed successfully."
|
msgid "The date was changed successfully."
|
||||||
msgstr ""
|
msgstr "The date was changed successfully."
|
||||||
|
|
||||||
#: WarningMessage.InvalidDate.Title
|
#: WarningMessage.InvalidDate.Title
|
||||||
msgid "Invalid value"
|
msgid "Invalid value"
|
||||||
msgstr ""
|
msgstr "Invalid value"
|
||||||
|
|
||||||
#: WarningMessage.InvalidDate.Text
|
#: WarningMessage.InvalidDate.Text
|
||||||
msgid "An invalid value for date or time was supplied. Please try again."
|
msgid "An invalid value for date or time was supplied. Please try again."
|
||||||
msgstr ""
|
msgstr "An invalid value for date or time was supplied. Please try again."
|
||||||
|
|
|
@ -1,4 +1,24 @@
|
||||||
#!/usr/bin/env python2.4
|
#!/usr/bin/env python2.4
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
## necessary: otherwise CryptoBoxRootActions.py will refuse to execute this script
|
## necessary: otherwise CryptoBoxRootActions.py will refuse to execute this script
|
||||||
PLUGIN_TYPE = "cryptobox"
|
PLUGIN_TYPE = "cryptobox"
|
||||||
|
|
|
@ -1,12 +1,34 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.web.testclass
|
import cryptobox.web.testclass
|
||||||
|
|
||||||
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
|
|
||||||
def test_get_date(self):
|
def test_get_date(self):
|
||||||
|
"""retrieve the current date"""
|
||||||
date = self._getCurrentDate()
|
date = self._getCurrentDate()
|
||||||
|
|
||||||
|
|
||||||
def test_change_date(self):
|
def test_change_date(self):
|
||||||
|
"""set the date back and forth"""
|
||||||
now = self._getCurrentDate()
|
now = self._getCurrentDate()
|
||||||
## copy current time
|
## copy current time
|
||||||
new_date = dict(now)
|
new_date = dict(now)
|
||||||
|
@ -22,6 +44,16 @@ class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
self.assertEquals(now, self._getCurrentDate())
|
self.assertEquals(now, self._getCurrentDate())
|
||||||
|
|
||||||
|
|
||||||
|
def test_try_broken_date(self):
|
||||||
|
"""expect error messages for invalid dates"""
|
||||||
|
self._setDate({"hour":12, "minute":40, "year":2004, "month":7, "day":0})
|
||||||
|
self.cmd.find("invalid value for date")
|
||||||
|
self._setDate({"hour":12, "minute":40, "year":"x", "month":7, "day":2})
|
||||||
|
self.cmd.find("invalid value for date")
|
||||||
|
self._setDate({"hour":12, "minute":40, "year":2004, "month":2, "day":31})
|
||||||
|
self.cmd.find("invalid value for date")
|
||||||
|
|
||||||
|
|
||||||
def _getCurrentDate(self):
|
def _getCurrentDate(self):
|
||||||
date_url = self.URL + "date"
|
date_url = self.URL + "date"
|
||||||
self.register_auth(date_url)
|
self.register_auth(date_url)
|
||||||
|
@ -41,13 +73,16 @@ class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
|
|
||||||
def _setDate(self, date):
|
def _setDate(self, date):
|
||||||
"""for now we have to use this function instead of the one below"""
|
"""for now we have to use this function instead of the one below"""
|
||||||
date_url = self.URL + "date?store=1&year=%d&month=%d&day=%d&hour=%d&minute=%d" % (date["year"], date["month"], date["day"], date["hour"], date["minute"])
|
date_url = self.URL + "date?weblang=en&store=1&year=%s&month=%s&day=%s&hour=%s&minute=%s"\
|
||||||
|
% (str(date["year"]), str(date["month"]), str(date["day"]),
|
||||||
|
str(date["hour"]), str(date["minute"]))
|
||||||
self.register_auth(date_url)
|
self.register_auth(date_url)
|
||||||
self.cmd.go(date_url)
|
self.cmd.go(date_url)
|
||||||
|
|
||||||
|
|
||||||
def _setDateBroken(self, date):
|
def _setDateBroken(self, date):
|
||||||
"""this should work, but the parsing of twill seems to be broken"""
|
"""this should work, but the parsing of twill seems to be broken
|
||||||
|
as soon as the twill bug is fixed, we should use this function"""
|
||||||
date_url = self.URL + "date"
|
date_url = self.URL + "date"
|
||||||
self.register_auth(date_url)
|
self.register_auth(date_url)
|
||||||
self.cmd.go(date_url)
|
self.cmd.go(date_url)
|
||||||
|
|
|
@ -4,8 +4,6 @@
|
||||||
|
|
||||||
<?cs call:handle_messages() ?>
|
<?cs call:handle_messages() ?>
|
||||||
|
|
||||||
<?cs # TODO: add no-disks-available warning ?>
|
|
||||||
|
|
||||||
<?cs if:subcount(Data.Disks) == 0 ?>
|
<?cs if:subcount(Data.Disks) == 0 ?>
|
||||||
<?cs call:hint("Plugins.disks.NoDisksAvailable") ?>
|
<?cs call:hint("Plugins.disks.NoDisksAvailable") ?>
|
||||||
<?cs else ?>
|
<?cs else ?>
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.plugins.base
|
import cryptobox.plugins.base
|
||||||
|
|
||||||
class disks(cryptobox.plugins.base.CryptoBoxPlugin):
|
class disks(cryptobox.plugins.base.CryptoBoxPlugin):
|
||||||
|
@ -13,6 +33,6 @@ class disks(cryptobox.plugins.base.CryptoBoxPlugin):
|
||||||
|
|
||||||
|
|
||||||
def getStatus(self):
|
def getStatus(self):
|
||||||
return "TODO"
|
return ":".join([e.getDevice() for e in self.cbox.getContainerList()])
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,28 +4,28 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
||||||
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
||||||
"POT-Creation-Date: 2006-11-28 05:04+0100\n"
|
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2006-11-29 19:31+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: Lars Kruse <devel@sumpfralle.de>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
"X-Generator: Pootle 0.10.1\n"
|
||||||
|
|
||||||
#: Name
|
#: Name
|
||||||
msgid "Disk overview"
|
msgid "Disk overview"
|
||||||
msgstr ""
|
msgstr "Disk overview"
|
||||||
|
|
||||||
#: Link
|
#: Link
|
||||||
msgid "Disks"
|
msgid "Disks"
|
||||||
msgstr ""
|
msgstr "Disks"
|
||||||
|
|
||||||
#: Title.Disks
|
#: Title.Disks
|
||||||
msgid "Available disks"
|
msgid "Available disks"
|
||||||
msgstr ""
|
msgstr "Available disks"
|
||||||
|
|
||||||
#: AdviceMessage.NoDisksAvailable.Text
|
#: AdviceMessage.NoDisksAvailable.Text
|
||||||
msgid "No available disks were found!"
|
msgid "No available disks were found!"
|
||||||
msgstr ""
|
msgstr "No available disks were found!"
|
||||||
|
|
|
@ -1,9 +1,41 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.web.testclass
|
import cryptobox.web.testclass
|
||||||
|
|
||||||
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
|
|
||||||
def test_read_form(self):
|
def test_read_form(self):
|
||||||
'''display all devices'''
|
'''display all devices'''
|
||||||
|
self.register_auth(self.URL)
|
||||||
self.cmd.go(self.URL + "disks?weblang=en")
|
self.cmd.go(self.URL + "disks?weblang=en")
|
||||||
self.cmd.find("Disks")
|
self.cmd.find("Available disks")
|
||||||
|
|
||||||
|
|
||||||
|
def test_is_device_in_list(self):
|
||||||
|
"""check if the device-under-test is in the device list"""
|
||||||
|
self.register_auth(self.URL)
|
||||||
|
self.cmd.go(self.URL + "disks?weblang=en")
|
||||||
|
self.cmd.find("Available disks")
|
||||||
|
self.cmd.find(u'Data.Status.Plugins.disks=(.*)$', "m")
|
||||||
|
devices = self.locals["__match__"].split(":")
|
||||||
|
self.assertTrue(len(devices)>0)
|
||||||
|
self.assertTrue(("/dev/%s1" % self.device in devices) or ("/dev/%s2" % self.device in devices))
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.plugins.base
|
import cryptobox.plugins.base
|
||||||
|
|
||||||
class help(cryptobox.plugins.base.CryptoBoxPlugin):
|
class help(cryptobox.plugins.base.CryptoBoxPlugin):
|
||||||
|
@ -17,7 +37,7 @@ class help(cryptobox.plugins.base.CryptoBoxPlugin):
|
||||||
## check for invalid characters and if the page exists in the default language
|
## check for invalid characters and if the page exists in the default language
|
||||||
if page and \
|
if page and \
|
||||||
not re.search(u'\W', page) and \
|
not re.search(u'\W', page) and \
|
||||||
os.path.isfile(os.path.join(self.cbox.prefs["Locations"]["DocDir"], self.efault_lang, page + '.html')):
|
os.path.isfile(os.path.join(self.cbox.prefs["Locations"]["DocDir"], self.default_lang, page + '.html')):
|
||||||
## everything is ok
|
## everything is ok
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
|
@ -36,10 +56,13 @@ class help(cryptobox.plugins.base.CryptoBoxPlugin):
|
||||||
else:
|
else:
|
||||||
lang = self.default_lang
|
lang = self.default_lang
|
||||||
self.hdf[self.hdf_prefix + "Language"] = lang
|
self.hdf[self.hdf_prefix + "Language"] = lang
|
||||||
|
## store the current setting for a later "getStatus" call
|
||||||
|
self.current_lang = lang
|
||||||
|
self.current_page = page
|
||||||
return "doc"
|
return "doc"
|
||||||
|
|
||||||
|
|
||||||
def getStatus(self):
|
def getStatus(self):
|
||||||
return "TODO"
|
return "%s:%s" % (self.current_lang, self.current_page)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -5,19 +5,19 @@ msgstr ""
|
||||||
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
||||||
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
||||||
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2006-11-29 19:31+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: Lars Kruse <devel@sumpfralle.de>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
"X-Generator: Pootle 0.10.1\n"
|
||||||
|
|
||||||
#: Name
|
#: Name
|
||||||
msgid "User manual"
|
msgid "User manual"
|
||||||
msgstr ""
|
msgstr "User manual"
|
||||||
|
|
||||||
#: Link
|
#: Link
|
||||||
msgid "Help"
|
msgid "Help"
|
||||||
msgstr ""
|
msgstr "Help"
|
||||||
|
|
|
@ -1,29 +1,92 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.web.testclass
|
import cryptobox.web.testclass
|
||||||
from twill.errors import *
|
from twill.errors import *
|
||||||
|
|
||||||
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
|
|
||||||
def test_help_pages(self):
|
def test_help_language_texts(self):
|
||||||
'''help pages should be available in different languages'''
|
'''help pages should be available in different languages'''
|
||||||
|
|
||||||
## check english help pages
|
## check english help pages
|
||||||
self.cmd.go(self.URL + "help?weblang=en")
|
self.cmd.go(self.URL + "help?weblang=en")
|
||||||
self.cmd.find("Table of Contents")
|
self.cmd.find("Table of Contents")
|
||||||
self.cmd.find("Getting started")
|
self.cmd.find("Getting started")
|
||||||
|
(lang,page) = self._getHelpStatus()
|
||||||
|
self.assertTrue(lang == "en")
|
||||||
|
self.assertTrue(page == "CryptoBoxUser")
|
||||||
|
|
||||||
|
## check german help pages
|
||||||
self.cmd.go(self.URL + "help?weblang=de")
|
self.cmd.go(self.URL + "help?weblang=de")
|
||||||
self.cmd.find("Table of Contents")
|
self.cmd.find("Table of Contents")
|
||||||
self.cmd.find("Wie geht es los")
|
self.cmd.find("Wie geht es los")
|
||||||
|
(lang,page) = self._getHelpStatus()
|
||||||
|
self.assertTrue(lang == "de")
|
||||||
|
self.assertTrue(page == "CryptoBoxUser")
|
||||||
|
|
||||||
self.cmd.go(self.URL + "help?weblang=si")
|
## check slovene help pages
|
||||||
|
self.cmd.go(self.URL + "help?weblang=sl")
|
||||||
self.assertRaises(TwillAssertionError, self.cmd.notfind, "Table of Contents")
|
self.assertRaises(TwillAssertionError, self.cmd.notfind, "Table of Contents")
|
||||||
#TODO: add a slovene text here, as soon as the help is translated
|
## add a slovene text here, as soon as the help is translated
|
||||||
|
(lang,page) = self._getHelpStatus()
|
||||||
|
## change this to "sl" as soon as the help is translated
|
||||||
|
self.assertTrue(lang == "en")
|
||||||
|
self.assertTrue(page == "CryptoBoxUser")
|
||||||
|
|
||||||
|
## check french help pages
|
||||||
self.cmd.go(self.URL + "help?weblang=fr")
|
self.cmd.go(self.URL + "help?weblang=fr")
|
||||||
self.assertRaises(TwillAssertionError, self.cmd.notfind, "Table of Contents")
|
self.assertRaises(TwillAssertionError, self.cmd.notfind, "Table of Contents")
|
||||||
#TODO: add a french text here, as soon as the help is translated
|
## add a french text here, as soon as the help is translated
|
||||||
|
(lang,page) = self._getHelpStatus()
|
||||||
|
## change this to "fr" as soon as the help is translated
|
||||||
|
self.assertTrue(lang == "en")
|
||||||
|
self.assertTrue(page == "CryptoBoxUser")
|
||||||
|
|
||||||
## test a random language - it should fall back to english
|
## test a random language - it should fall back to english
|
||||||
self.cmd.go(self.URL + "help?weblang=foobar")
|
self.cmd.go(self.URL + "help?weblang=foobar")
|
||||||
self.assertRaises(TwillAssertionError, self.cmd.notfind, "Table of Contents")
|
self.assertRaises(TwillAssertionError, self.cmd.notfind, "Table of Contents")
|
||||||
|
(lang,page) = self._getHelpStatus()
|
||||||
|
self.assertTrue(lang == "en")
|
||||||
|
self.assertTrue(page == "CryptoBoxUser")
|
||||||
|
|
||||||
|
|
||||||
|
def test_help_pages(self):
|
||||||
|
"""check invalid page requests"""
|
||||||
|
self.cmd.go(self.URL + "help?page=foobar")
|
||||||
|
(lang,page) = self._getHelpStatus()
|
||||||
|
self.assertTrue(page == "CryptoBoxUser")
|
||||||
|
|
||||||
|
self.cmd.go(self.URL + "help?page=CryptoBoxUser")
|
||||||
|
(lang,page) = self._getHelpStatus()
|
||||||
|
self.assertTrue(page == "CryptoBoxUser")
|
||||||
|
|
||||||
|
|
||||||
|
def test_help_default_languages(self):
|
||||||
|
"""check invalid page requests"""
|
||||||
|
self.cmd.go(self.URL + "help?weblang=foobar")
|
||||||
|
(lang,page) = self._getHelpStatus()
|
||||||
|
self.assertTrue(lang == "en")
|
||||||
|
|
||||||
|
|
||||||
|
def _getHelpStatus(self):
|
||||||
|
self.cmd.find(u'Data.Status.Plugins.help=(.*)$', "m")
|
||||||
|
return tuple(self.locals["__match__"].split(":"))
|
||||||
|
|
||||||
|
|
|
@ -5,23 +5,23 @@ msgstr ""
|
||||||
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
||||||
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
||||||
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2006-11-29 19:31+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: Lars Kruse <devel@sumpfralle.de>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
"X-Generator: Pootle 0.10.1\n"
|
||||||
|
|
||||||
#: Name
|
#: Name
|
||||||
msgid "Choose interface language"
|
msgid "Choose interface language"
|
||||||
msgstr ""
|
msgstr "Choose interface language"
|
||||||
|
|
||||||
#: Link
|
#: Link
|
||||||
msgid "Languages"
|
msgid "Languages"
|
||||||
msgstr ""
|
msgstr "Languages"
|
||||||
|
|
||||||
#: Title.Language
|
#: Title.Language
|
||||||
msgid "Choose an interface language"
|
msgid "Choose an interface language"
|
||||||
msgstr ""
|
msgstr "Choose an interface language"
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.plugins.base
|
import cryptobox.plugins.base
|
||||||
|
|
||||||
|
|
||||||
|
@ -13,5 +33,5 @@ class language_selection(cryptobox.plugins.base.CryptoBoxPlugin):
|
||||||
|
|
||||||
|
|
||||||
def getStatus(self):
|
def getStatus(self):
|
||||||
return "TODO"
|
return ":".join(self.site.langOrder)
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.web.testclass
|
import cryptobox.web.testclass
|
||||||
|
|
||||||
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
|
@ -8,3 +28,13 @@ class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
self.cmd.go(url)
|
self.cmd.go(url)
|
||||||
self.cmd.find('hoose an interface language')
|
self.cmd.find('hoose an interface language')
|
||||||
|
|
||||||
|
|
||||||
|
def test_check_language_list(self):
|
||||||
|
url = self.URL + "language_selection"
|
||||||
|
self.register_auth(url)
|
||||||
|
self.cmd.go(url)
|
||||||
|
self.cmd.find(u'Data.Status.Plugins.language_selection=(.*)$', "m")
|
||||||
|
langs = self.locals["__match__"].split(":")
|
||||||
|
self.assertTrue(len(langs)>1)
|
||||||
|
self.assertTrue(langs[0] == "en")
|
||||||
|
|
||||||
|
|
|
@ -4,28 +4,28 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
||||||
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
||||||
"POT-Creation-Date: 2006-11-28 05:04+0100\n"
|
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2006-11-29 19:31+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: Lars Kruse <devel@sumpfralle.de>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
"X-Generator: Pootle 0.10.1\n"
|
||||||
|
|
||||||
#: Name
|
#: Name
|
||||||
msgid "Show the content of the log file"
|
msgid "Show the content of the log file"
|
||||||
msgstr ""
|
msgstr "Show the content of the log file"
|
||||||
|
|
||||||
#: Link
|
#: Link
|
||||||
msgid "Show log file"
|
msgid "Show log file"
|
||||||
msgstr ""
|
msgstr "Show log file"
|
||||||
|
|
||||||
#: Title.Log
|
#: Title.Log
|
||||||
msgid "CryptoBox logfiles"
|
msgid "CryptoBox logfiles"
|
||||||
msgstr ""
|
msgstr "CryptoBox logfiles"
|
||||||
|
|
||||||
#: Text.EmptyLog
|
#: Text.EmptyLog
|
||||||
msgid "The logfile of the CryptoBox is empty."
|
msgid "The logfile of the CryptoBox is empty."
|
||||||
msgstr ""
|
msgstr "The logfile of the CryptoBox is empty."
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.plugins.base
|
import cryptobox.plugins.base
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
@ -13,12 +33,12 @@ class logs(cryptobox.plugins.base.CryptoBoxPlugin):
|
||||||
## filter input
|
## filter input
|
||||||
try:
|
try:
|
||||||
lines = int(lines)
|
lines = int(lines)
|
||||||
if lines < 0: raise(ValueError)
|
if lines <= 0: raise(ValueError)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
lines = 50
|
lines = 50
|
||||||
try:
|
try:
|
||||||
size = int(size)
|
size = int(size)
|
||||||
if size < 0: raise(ValueError)
|
if size <= 0: raise(ValueError)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
size = 3000
|
size = 3000
|
||||||
if not pattern is None:
|
if not pattern is None:
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.web.testclass
|
import cryptobox.web.testclass
|
||||||
|
|
||||||
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
|
@ -16,5 +36,22 @@ class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
self.cmd.go(log_url + "?pattern=ERROR")
|
self.cmd.go(log_url + "?pattern=ERROR")
|
||||||
self.cmd.find(log_text)
|
self.cmd.find(log_text)
|
||||||
|
|
||||||
## TODO: check the filtering functions
|
def test_invalid_args(self):
|
||||||
|
log_url = self.URL + "logs"
|
||||||
|
self.cmd.go(log_url + "?lines=10")
|
||||||
|
self.cmd.find('class="console"')
|
||||||
|
self.cmd.go(log_url + "?lines=0")
|
||||||
|
self.cmd.find('class="console"')
|
||||||
|
self.cmd.go(log_url + "?lines=x")
|
||||||
|
self.cmd.find('class="console"')
|
||||||
|
self.cmd.go(log_url + "?size=1000")
|
||||||
|
self.cmd.find('class="console"')
|
||||||
|
self.cmd.go(log_url + "?size=0")
|
||||||
|
self.cmd.find('class="console"')
|
||||||
|
self.cmd.go(log_url + "?size=x")
|
||||||
|
self.cmd.find('class="console"')
|
||||||
|
self.cmd.go(log_url + "?pattern=foobar")
|
||||||
|
self.cmd.find('class="console"')
|
||||||
|
self.cmd.go(log_url + u"?pattern=kfj!^(]")
|
||||||
|
self.cmd.find('class="console"')
|
||||||
|
|
||||||
|
|
|
@ -4,44 +4,48 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
||||||
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
||||||
"POT-Creation-Date: 2006-11-28 05:04+0100\n"
|
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2006-11-29 19:31+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: Lars Kruse <devel@sumpfralle.de>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
"X-Generator: Pootle 0.10.1\n"
|
||||||
|
|
||||||
#: Name
|
#: Name
|
||||||
msgid "Configure network"
|
msgid "Configure network"
|
||||||
msgstr ""
|
msgstr "Configure network"
|
||||||
|
|
||||||
#: Title.Network
|
#: Title.Network
|
||||||
msgid "Network settings"
|
msgid "Network settings"
|
||||||
msgstr ""
|
msgstr "Network settings"
|
||||||
|
|
||||||
#: Button.Network
|
#: Button.Network
|
||||||
msgid "Update network settings"
|
msgid "Update network settings"
|
||||||
msgstr ""
|
msgstr "Update network settings"
|
||||||
|
|
||||||
#: Text.IP
|
#: Text.IP
|
||||||
msgid "Network address"
|
msgid "Network address"
|
||||||
msgstr ""
|
msgstr "Network address"
|
||||||
|
|
||||||
#: WarningMessage.InvalidIP.Title
|
#: WarningMessage.InvalidIP.Title
|
||||||
msgid "Invalid value"
|
msgid "Invalid value"
|
||||||
msgstr ""
|
msgstr "Invalid value"
|
||||||
|
|
||||||
#: WarningMessage.InvalidIP.Text
|
#: WarningMessage.InvalidIP.Text
|
||||||
msgid "An invalid network address (IP) was supplied. Please try again."
|
msgid "An invalid network address (IP) was supplied. Please try again."
|
||||||
msgstr ""
|
msgstr "An invalid network address (IP) was supplied. Please try again."
|
||||||
|
|
||||||
#: SuccessMessage.IPChanged.Title
|
#: SuccessMessage.IPChanged.Title
|
||||||
msgid "Network address changed"
|
msgid "Network address changed"
|
||||||
msgstr ""
|
msgstr "Network address changed"
|
||||||
|
|
||||||
#: SuccessMessage.IPChanged.Text
|
#: SuccessMessage.IPChanged.Text
|
||||||
msgid "The network address has been changed. In a few seconds you will get redirected to the new address."
|
msgid ""
|
||||||
|
"The network address has been changed. In a few seconds you will get "
|
||||||
|
"redirected to the new address."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"The network address has been changed. In a few seconds you will get "
|
||||||
|
"redirected to the new address."
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import subprocess
|
import subprocess
|
||||||
import os
|
import os
|
||||||
import cryptobox.plugins.base
|
import cryptobox.plugins.base
|
||||||
|
|
|
@ -1,4 +1,24 @@
|
||||||
#!/usr/bin/env python2.4
|
#!/usr/bin/env python2.4
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
#TODO: add netmask and gateway
|
#TODO: add netmask and gateway
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.web.testclass
|
import cryptobox.web.testclass
|
||||||
from network import CHANGE_IP_DELAY
|
from network import CHANGE_IP_DELAY
|
||||||
|
|
||||||
|
@ -13,14 +33,12 @@ class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
## extract the current IP from the network plugin output
|
## extract the current IP from the network plugin output
|
||||||
def getCurrentIP():
|
def getCurrentIP():
|
||||||
self.cmd.go(self.URL + "network")
|
self.cmd.go(self.URL + "network")
|
||||||
self.cmd.show()
|
|
||||||
self.cmd.find(u'Data.Status.Plugins.network=([0-9\.]*)$', "m")
|
self.cmd.find(u'Data.Status.Plugins.network=([0-9\.]*)$', "m")
|
||||||
return self.locals["__match__"]
|
return self.locals["__match__"]
|
||||||
origIPtext = getCurrentIP()
|
origIPtext = getCurrentIP()
|
||||||
origIPocts = origIPtext.split(".")
|
origIPocts = origIPtext.split(".")
|
||||||
## check, if the original IP is valid (contains four octets)
|
## check, if the original IP is valid (contains four octets)
|
||||||
self.assertEquals(4, len(origIPocts))
|
self.assertEquals(4, len(origIPocts))
|
||||||
self.cmd.echo(origIPocts)
|
|
||||||
wrongIP = "192.168.123.321"
|
wrongIP = "192.168.123.321"
|
||||||
def setIP((ip1, ip2, ip3, ip4)):
|
def setIP((ip1, ip2, ip3, ip4)):
|
||||||
self.cmd.go(self.URL + "network")
|
self.cmd.go(self.URL + "network")
|
||||||
|
@ -43,3 +61,10 @@ class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
self.assertEquals(origIPtext, getCurrentIP())
|
self.assertEquals(origIPtext, getCurrentIP())
|
||||||
|
|
||||||
|
|
||||||
|
def test_inputs(self):
|
||||||
|
self.register_auth(self.URL + "network")
|
||||||
|
self.cmd.go(self.URL + "network" + "?redirected=1")
|
||||||
|
self.cmd.notfind("problem")
|
||||||
|
self.cmd.go(self.URL + "network" + "?store=1")
|
||||||
|
self.cmd.find("invalid network address")
|
||||||
|
|
||||||
|
|
|
@ -4,168 +4,175 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
||||||
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
||||||
"POT-Creation-Date: 2006-11-28 05:04+0100\n"
|
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2006-11-29 19:31+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: Lars Kruse <devel@sumpfralle.de>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
"X-Generator: Pootle 0.10.1\n"
|
||||||
|
|
||||||
#: Name
|
#: Name
|
||||||
msgid "Disk partitioning"
|
msgid "Disk partitioning"
|
||||||
msgstr ""
|
msgstr "Disk partitioning"
|
||||||
|
|
||||||
#: Link
|
#: Link
|
||||||
msgid "Partition a disk"
|
msgid "Partition a disk"
|
||||||
msgstr ""
|
msgstr "Partition a disk"
|
||||||
|
|
||||||
#: Title.Partition
|
#: Title.Partition
|
||||||
msgid "Disk partitions"
|
msgid "Disk partitions"
|
||||||
msgstr ""
|
msgstr "Disk partitions"
|
||||||
|
|
||||||
#: Button.SelectDevice
|
#: Button.SelectDevice
|
||||||
msgid "Manual partitioning"
|
msgid "Manual partitioning"
|
||||||
msgstr ""
|
msgstr "Manual partitioning"
|
||||||
|
|
||||||
#: Button.EasySetup
|
#: Button.EasySetup
|
||||||
msgid "Automatic setup"
|
msgid "Automatic setup"
|
||||||
msgstr ""
|
msgstr "Automatic setup"
|
||||||
|
|
||||||
#: Button.AddPartition
|
#: Button.AddPartition
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
msgstr ""
|
msgstr "Add"
|
||||||
|
|
||||||
#: Button.DelPartition
|
#: Button.DelPartition
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr ""
|
msgstr "Remove"
|
||||||
|
|
||||||
#: Button.SavePartitions
|
#: Button.SavePartitions
|
||||||
msgid "Write new partition table"
|
msgid "Write new partition table"
|
||||||
msgstr ""
|
msgstr "Write new partition table"
|
||||||
|
|
||||||
#: Button.AbortPartitions
|
#: Button.AbortPartitions
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr ""
|
msgstr "Cancel"
|
||||||
|
|
||||||
#: Text.FS.Type
|
#: Text.FS.Type
|
||||||
msgid "Filesystem type"
|
msgid "Filesystem type"
|
||||||
msgstr ""
|
msgstr "Filesystem type"
|
||||||
|
|
||||||
#: Text.FS.Fat
|
#: Text.FS.Fat
|
||||||
msgid "FAT (Windows)"
|
msgid "FAT (Windows)"
|
||||||
msgstr ""
|
msgstr "FAT (Windows)"
|
||||||
|
|
||||||
#: Text.FS.Ext2
|
#: Text.FS.Ext2
|
||||||
msgid "Ext2"
|
msgid "Ext2"
|
||||||
msgstr ""
|
msgstr "Ext2"
|
||||||
|
|
||||||
#: Text.FS.Ext3
|
#: Text.FS.Ext3
|
||||||
msgid "Ext3"
|
msgid "Ext3"
|
||||||
msgstr ""
|
msgstr "Ext3"
|
||||||
|
|
||||||
#: Text.FS.Reiser
|
#: Text.FS.Reiser
|
||||||
msgid "Reiser"
|
msgid "Reiser"
|
||||||
msgstr ""
|
msgstr "Reiser"
|
||||||
|
|
||||||
#: Text.PartNum
|
#: Text.PartNum
|
||||||
msgid "Id"
|
msgid "Id"
|
||||||
msgstr ""
|
msgstr "Id"
|
||||||
|
|
||||||
#: Text.PartType
|
#: Text.PartType
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr ""
|
msgstr "Type"
|
||||||
|
|
||||||
#: Text.Size
|
#: Text.Size
|
||||||
msgid "Size (MB)"
|
msgid "Size (MB)"
|
||||||
msgstr ""
|
msgstr "Size (MB)"
|
||||||
|
|
||||||
#: Text.SelectDevice
|
#: Text.SelectDevice
|
||||||
msgid "Choose a disk for partitioning"
|
msgid "Choose a disk for partitioning"
|
||||||
msgstr ""
|
msgstr "Choose a disk for partitioning"
|
||||||
|
|
||||||
#: Text.ProgressInfo
|
#: Text.ProgressInfo
|
||||||
msgid "Progress of formatting:"
|
msgid "Progress of formatting:"
|
||||||
msgstr ""
|
msgstr "Progress of formatting:"
|
||||||
|
|
||||||
#: Text.CreateConfigPartition
|
#: Text.CreateConfigPartition
|
||||||
msgid "Automatically creating a configuration partition."
|
msgid "Automatically creating a configuration partition."
|
||||||
msgstr ""
|
msgstr "Automatically creating a configuration partition."
|
||||||
|
|
||||||
#: Text.RemovalContainers
|
#: Text.RemovalContainers
|
||||||
msgid "These disks will be destroyed, if you continue"
|
msgid "These disks will be destroyed, if you continue"
|
||||||
msgstr ""
|
msgstr "These disks will be destroyed, if you continue"
|
||||||
|
|
||||||
#: AdviceMessage.DeviceDataIsLost.Text
|
#: AdviceMessage.DeviceDataIsLost.Text
|
||||||
msgid "If you continue, you will destroy all data on the choosen disk. Please be VERY careful!"
|
msgid ""
|
||||||
|
"If you continue, you will destroy all data on the choosen disk. Please be "
|
||||||
|
"VERY careful!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"If you continue, you will destroy all data on the choosen disk. Please be "
|
||||||
|
"VERY careful!"
|
||||||
|
|
||||||
#: SuccessMessage.Partitioned.Title
|
#: SuccessMessage.Partitioned.Title
|
||||||
msgid "Partitioning complete"
|
msgid "Partitioning complete"
|
||||||
msgstr ""
|
msgstr "Partitioning complete"
|
||||||
|
|
||||||
#: SuccessMessage.Partitioned.Text
|
#: SuccessMessage.Partitioned.Text
|
||||||
msgid "The disk was partitioned successfully."
|
msgid "The disk was partitioned successfully."
|
||||||
msgstr ""
|
msgstr "The disk was partitioned successfully."
|
||||||
|
|
||||||
#: SuccessMessage.EasySetup.Title
|
#: SuccessMessage.EasySetup.Title
|
||||||
msgid "Initialization completed"
|
msgid "Initialization completed"
|
||||||
msgstr ""
|
msgstr "Initialization completed"
|
||||||
|
|
||||||
#: SuccessMessage.EasySetup.Text
|
#: SuccessMessage.EasySetup.Text
|
||||||
msgid "Automatic initialization was finished successfully."
|
msgid "Automatic initialization was finished successfully."
|
||||||
msgstr ""
|
msgstr "Automatic initialization was finished successfully."
|
||||||
|
|
||||||
#: WarningMessage.NoDisksAvailable.Title
|
#: WarningMessage.NoDisksAvailable.Title
|
||||||
msgid "No disks found"
|
msgid "No disks found"
|
||||||
msgstr ""
|
msgstr "No disks found"
|
||||||
|
|
||||||
#: WarningMessage.NoDisksAvailable.Text
|
#: WarningMessage.NoDisksAvailable.Text
|
||||||
msgid "No suitable disks found - please check your configuration and hardware setup."
|
msgid ""
|
||||||
|
"No suitable disks found - please check your configuration and hardware setup."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"No suitable disks found - please check your configuration and hardware setup."
|
||||||
|
|
||||||
#: WarningMessage.PartitioningFailed.Title
|
#: WarningMessage.PartitioningFailed.Title
|
||||||
msgid "Partitioning failed"
|
msgid "Partitioning failed"
|
||||||
msgstr ""
|
msgstr "Partitioning failed"
|
||||||
|
|
||||||
#: WarningMessage.PartitioningFailed.Text
|
#: WarningMessage.PartitioningFailed.Text
|
||||||
msgid "The partitioning of the device failed for some reason - sorry!"
|
msgid "The partitioning of the device failed for some reason - sorry!"
|
||||||
msgstr ""
|
msgstr "The partitioning of the device failed for some reason - sorry!"
|
||||||
|
|
||||||
#: WarningMessage.FormattingFailed.Title
|
#: WarningMessage.FormattingFailed.Title
|
||||||
msgid "Formatting failed"
|
msgid "Formatting failed"
|
||||||
msgstr ""
|
msgstr "Formatting failed"
|
||||||
|
|
||||||
#: WarningMessage.FormattingFailed.Text
|
#: WarningMessage.FormattingFailed.Text
|
||||||
msgid "The formatting of the filesystems of the device failed - sorry!"
|
msgid "The formatting of the filesystems of the device failed - sorry!"
|
||||||
msgstr ""
|
msgstr "The formatting of the filesystems of the device failed - sorry!"
|
||||||
|
|
||||||
#: WarningMessage.DiskIsBusy.Title
|
#: WarningMessage.DiskIsBusy.Title
|
||||||
msgid "This disk is busy"
|
msgid "This disk is busy"
|
||||||
msgstr ""
|
msgstr "This disk is busy"
|
||||||
|
|
||||||
#: WarningMessage.DiskIsBusy.Text
|
#: WarningMessage.DiskIsBusy.Text
|
||||||
msgid "Please deactivate all containers of this disk before partitioning."
|
msgid "Please deactivate all containers of this disk before partitioning."
|
||||||
msgstr ""
|
msgstr "Please deactivate all containers of this disk before partitioning."
|
||||||
|
|
||||||
#: WarningMessage.DiskIsBusy.Link.Text
|
#: WarningMessage.DiskIsBusy.Link.Text
|
||||||
msgid "Show all disks"
|
msgid "Show all disks"
|
||||||
msgstr ""
|
msgstr "Show all disks"
|
||||||
|
|
||||||
#: WarningMessage.PartitionTooBig.Title
|
#: WarningMessage.PartitionTooBig.Title
|
||||||
msgid "Invalid size"
|
msgid "Invalid size"
|
||||||
msgstr ""
|
msgstr "Invalid size"
|
||||||
|
|
||||||
#: WarningMessage.PartitionTooBig.Text
|
#: WarningMessage.PartitionTooBig.Text
|
||||||
msgid "The container size you entered exceeded the available size of the disk."
|
msgid "The container size you entered exceeded the available size of the disk."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"The container size you entered exceeded the available size of the disk."
|
||||||
|
|
||||||
#: WarningMessage.PartitionTooSmall.Text
|
#: WarningMessage.PartitionTooSmall.Text
|
||||||
msgid "The minimum size of a container is 10 megabytes."
|
msgid "The minimum size of a container is 10 megabytes."
|
||||||
msgstr ""
|
msgstr "The minimum size of a container is 10 megabytes."
|
||||||
|
|
||||||
#: WarningMessage.DiskIsBusy.Link.Rel
|
#: WarningMessage.DiskIsBusy.Link.Rel
|
||||||
msgid "disks"
|
msgid "disks"
|
||||||
msgstr ""
|
msgstr "disks"
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import subprocess
|
import subprocess
|
||||||
import os
|
import os
|
||||||
import logging
|
import logging
|
||||||
|
|
|
@ -1,4 +1,24 @@
|
||||||
#!/usr/bin/env python2.4
|
#!/usr/bin/env python2.4
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
## necessary: otherwise CryptoBoxRootActions.py will refuse to execute this script
|
## necessary: otherwise CryptoBoxRootActions.py will refuse to execute this script
|
||||||
PLUGIN_TYPE = "cryptobox"
|
PLUGIN_TYPE = "cryptobox"
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.web.testclass
|
import cryptobox.web.testclass
|
||||||
|
|
||||||
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
|
|
|
@ -5,71 +5,71 @@ msgstr ""
|
||||||
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
||||||
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
||||||
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2006-11-29 19:31+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: Lars Kruse <devel@sumpfralle.de>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
"X-Generator: Pootle 0.10.1\n"
|
||||||
|
|
||||||
#: Name
|
#: Name
|
||||||
msgid "Plugin Manager"
|
msgid "Plugin Manager"
|
||||||
msgstr ""
|
msgstr "Plugin Manager"
|
||||||
|
|
||||||
#: Link
|
#: Link
|
||||||
msgid "Manage plugins"
|
msgid "Manage plugins"
|
||||||
msgstr ""
|
msgstr "Manage plugins"
|
||||||
|
|
||||||
#: Title.VolumePlugins
|
#: Title.VolumePlugins
|
||||||
msgid "Volume plugins"
|
msgid "Volume plugins"
|
||||||
msgstr ""
|
msgstr "Volume plugins"
|
||||||
|
|
||||||
#: Title.SystemPlugins
|
#: Title.SystemPlugins
|
||||||
msgid "System plugins"
|
msgid "System plugins"
|
||||||
msgstr ""
|
msgstr "System plugins"
|
||||||
|
|
||||||
#: Button.SaveSettings
|
#: Button.SaveSettings
|
||||||
msgid "Save settings"
|
msgid "Save settings"
|
||||||
msgstr ""
|
msgstr "Save settings"
|
||||||
|
|
||||||
#: Button.Up
|
#: Button.Up
|
||||||
msgid "move up"
|
msgid "move up"
|
||||||
msgstr ""
|
msgstr "move up"
|
||||||
|
|
||||||
#: Button.Down
|
#: Button.Down
|
||||||
msgid "move down"
|
msgid "move down"
|
||||||
msgstr ""
|
msgstr "move down"
|
||||||
|
|
||||||
#: Text.PluginName
|
#: Text.PluginName
|
||||||
msgid "Plugin"
|
msgid "Plugin"
|
||||||
msgstr ""
|
msgstr "Plugin"
|
||||||
|
|
||||||
#: Text.PluginRank
|
#: Text.PluginRank
|
||||||
msgid "Order"
|
msgid "Order"
|
||||||
msgstr ""
|
msgstr "Order"
|
||||||
|
|
||||||
#: Text.RequestsAuth
|
#: Text.RequestsAuth
|
||||||
msgid "Requires admin?"
|
msgid "Requires admin?"
|
||||||
msgstr ""
|
msgstr "Requires admin?"
|
||||||
|
|
||||||
#: Text.InMenu
|
#: Text.InMenu
|
||||||
msgid "Main menu"
|
msgid "Main menu"
|
||||||
msgstr ""
|
msgstr "Main menu"
|
||||||
|
|
||||||
#: Text.InPreferences
|
#: Text.InPreferences
|
||||||
msgid "Preferences"
|
msgid "Preferences"
|
||||||
msgstr ""
|
msgstr "Preferences"
|
||||||
|
|
||||||
#: Text.InVolumeRegister
|
#: Text.InVolumeRegister
|
||||||
msgid "Register"
|
msgid "Register"
|
||||||
msgstr ""
|
msgstr "Register"
|
||||||
|
|
||||||
#: Text.InVolumeProperties
|
#: Text.InVolumeProperties
|
||||||
msgid "Properties"
|
msgid "Properties"
|
||||||
msgstr ""
|
msgstr "Properties"
|
||||||
|
|
||||||
#: Text.WhereVisible
|
#: Text.WhereVisible
|
||||||
msgid "Where visible?"
|
msgid "Where visible?"
|
||||||
msgstr ""
|
msgstr "Where visible?"
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.plugins.base
|
import cryptobox.plugins.base
|
||||||
import cryptobox.plugins.manage
|
import cryptobox.plugins.manage
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.web.testclass
|
import cryptobox.web.testclass
|
||||||
|
|
||||||
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
|
@ -8,3 +28,53 @@ class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
self.cmd.go(url)
|
self.cmd.go(url)
|
||||||
self.cmd.find('Plugin Manager')
|
self.cmd.find('Plugin Manager')
|
||||||
|
|
||||||
|
|
||||||
|
def test_set_options(self):
|
||||||
|
url = self.URL + "plugin_manager"
|
||||||
|
self.register_auth(url)
|
||||||
|
self.cmd.go(url + u"?plugin_name=t/-!")
|
||||||
|
self.cmd.find('Plugin Manager')
|
||||||
|
self.cmd.go(url + u"?plugin_name=foobar")
|
||||||
|
self.cmd.find('Plugin Manager')
|
||||||
|
self.cmd.go(url + u"?plugin_name=disks&action=up")
|
||||||
|
self.cmd.find('Plugin Manager')
|
||||||
|
self.cmd.go(url + u"?plugin_name=disks&action=down")
|
||||||
|
self.cmd.find('Plugin Manager')
|
||||||
|
self.cmd.go(url + u"?store=1&dis/ks_listed")
|
||||||
|
self.cmd.find('Plugin Manager')
|
||||||
|
self.cmd.go(url + u"?store=1&disks_listed&disks_visible_menu")
|
||||||
|
self.cmd.find('Plugin Manager')
|
||||||
|
self.cmd.go(url + u"?store=1&disks_listed&disks_visible_menu=1&disks_rank=50")
|
||||||
|
self.cmd.find('Plugin Manager')
|
||||||
|
self.cmd.go(url + u"?store=1&disks_listed&disks_visible_menu=1&disks_rank=x")
|
||||||
|
self.cmd.find('Plugin Manager')
|
||||||
|
self.cmd.go(url + u"?store=1&disks_listed&disks_visible_menu=1&disks_auth=1")
|
||||||
|
self.cmd.find('Plugin Manager')
|
||||||
|
self.cmd.go(url + u"?store=1&disks_listed&disks_visible_menu=1&disks_rank=50&disks_auth=1")
|
||||||
|
self.cmd.find('Plugin Manager')
|
||||||
|
|
||||||
|
|
||||||
|
def test_move_up(self):
|
||||||
|
## TODO: if we want to be perfect, then we should check the change of the rank
|
||||||
|
url = self.URL + "plugin_manager"
|
||||||
|
self.register_auth(url)
|
||||||
|
self.cmd.go(url + u"?plugin_name=disks&action=up")
|
||||||
|
self.cmd.find('Plugin Manager')
|
||||||
|
self.cmd.go(url + u"?store=1&disks_listed&disks_visible_menu=1&disks_rank=0")
|
||||||
|
self.cmd.find('Plugin Manager')
|
||||||
|
self.cmd.go(url + u"?plugin_name=disks&action=up")
|
||||||
|
self.cmd.find('Plugin Manager')
|
||||||
|
|
||||||
|
|
||||||
|
def test_move_down(self):
|
||||||
|
## TODO: if we want to be perfect, then we should check the change of the rank
|
||||||
|
url = self.URL + "plugin_manager"
|
||||||
|
self.register_auth(url)
|
||||||
|
self.cmd.go(url + u"?plugin_name=disks&action=down")
|
||||||
|
self.cmd.find('Plugin Manager')
|
||||||
|
self.cmd.go(url + u"?store=1&disks_listed&disks_visible_menu=1&disks_rank=100")
|
||||||
|
self.cmd.find('Plugin Manager')
|
||||||
|
self.cmd.go(url + u"?plugin_name=disks&action=down")
|
||||||
|
self.cmd.find('Plugin Manager')
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,72 +4,76 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
||||||
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
||||||
"POT-Creation-Date: 2006-11-28 05:04+0100\n"
|
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2006-11-29 19:31+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: Lars Kruse <devel@sumpfralle.de>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
"X-Generator: Pootle 0.10.1\n"
|
||||||
|
|
||||||
#: Name
|
#: Name
|
||||||
msgid "Shutdown or reboot the computer"
|
msgid "Shutdown or reboot the computer"
|
||||||
msgstr ""
|
msgstr "Shutdown or reboot the computer"
|
||||||
|
|
||||||
#: Link
|
#: Link
|
||||||
msgid "Shutdown"
|
msgid "Shutdown"
|
||||||
msgstr ""
|
msgstr "Shutdown"
|
||||||
|
|
||||||
#: Title.Shutdown
|
#: Title.Shutdown
|
||||||
msgid "Shutdown computer"
|
msgid "Shutdown computer"
|
||||||
msgstr ""
|
msgstr "Shutdown computer"
|
||||||
|
|
||||||
#: Title.ProgressShutdown
|
#: Title.ProgressShutdown
|
||||||
msgid "The CryptoBox is shutting down"
|
msgid "The CryptoBox is shutting down"
|
||||||
msgstr ""
|
msgstr "The CryptoBox is shutting down"
|
||||||
|
|
||||||
#: Title.ProgressReboot
|
#: Title.ProgressReboot
|
||||||
msgid "The CryptoBox is rebooting"
|
msgid "The CryptoBox is rebooting"
|
||||||
msgstr ""
|
msgstr "The CryptoBox is rebooting"
|
||||||
|
|
||||||
#: Button.Shutdown
|
#: Button.Shutdown
|
||||||
msgid "Poweroff"
|
msgid "Poweroff"
|
||||||
msgstr ""
|
msgstr "Poweroff"
|
||||||
|
|
||||||
#: Button.Reboot
|
#: Button.Reboot
|
||||||
msgid "Reboot"
|
msgid "Reboot"
|
||||||
msgstr ""
|
msgstr "Reboot"
|
||||||
|
|
||||||
#: SuccessMessage.Shutdown.Title
|
#: SuccessMessage.Shutdown.Title
|
||||||
msgid "Shutting down the system"
|
msgid "Shutting down the system"
|
||||||
msgstr ""
|
msgstr "Shutting down the system"
|
||||||
|
|
||||||
#: SuccessMessage.Shutdown.Text
|
#: SuccessMessage.Shutdown.Text
|
||||||
msgid "If the computer does not turn off itself within a minute, then you should plug it off manually."
|
msgid ""
|
||||||
|
"If the computer does not turn off itself within a minute, then you should "
|
||||||
|
"plug it off manually."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"If the computer does not turn off itself within a minute, then you should "
|
||||||
|
"plug it off manually."
|
||||||
|
|
||||||
#: SuccessMessage.Reboot.Title
|
#: SuccessMessage.Reboot.Title
|
||||||
msgid "Rebooting the system"
|
msgid "Rebooting the system"
|
||||||
msgstr ""
|
msgstr "Rebooting the system"
|
||||||
|
|
||||||
#: SuccessMessage.Reboot.Text
|
#: SuccessMessage.Reboot.Text
|
||||||
msgid "This may take a while (depending on your hardware) ..."
|
msgid "This may take a while (depending on your hardware) ..."
|
||||||
msgstr ""
|
msgstr "This may take a while (depending on your hardware) ..."
|
||||||
|
|
||||||
#: WarningMessage.ShutdownFailed.Title
|
#: WarningMessage.ShutdownFailed.Title
|
||||||
msgid "Shutdown failed"
|
msgid "Shutdown failed"
|
||||||
msgstr ""
|
msgstr "Shutdown failed"
|
||||||
|
|
||||||
#: WarningMessage.ShutdownFailed.Text
|
#: WarningMessage.ShutdownFailed.Text
|
||||||
msgid "Shutting down of the system failed for some reason - sorry!"
|
msgid "Shutting down of the system failed for some reason - sorry!"
|
||||||
msgstr ""
|
msgstr "Shutting down of the system failed for some reason - sorry!"
|
||||||
|
|
||||||
#: WarningMessage.RebootFailed.Title
|
#: WarningMessage.RebootFailed.Title
|
||||||
msgid "Reboot failed"
|
msgid "Reboot failed"
|
||||||
msgstr ""
|
msgstr "Reboot failed"
|
||||||
|
|
||||||
#: WarningMessage.RebootFailed.Text
|
#: WarningMessage.RebootFailed.Text
|
||||||
msgid "Reboot of the system failed for some reason - sorry!"
|
msgid "Reboot of the system failed for some reason - sorry!"
|
||||||
msgstr ""
|
msgstr "Reboot of the system failed for some reason - sorry!"
|
||||||
|
|
|
@ -1,4 +1,24 @@
|
||||||
#!/usr/bin/env python2.4
|
#!/usr/bin/env python2.4
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
## necessary: otherwise CryptoBoxRootActions.py will refuse to execute this script
|
## necessary: otherwise CryptoBoxRootActions.py will refuse to execute this script
|
||||||
PLUGIN_TYPE = "cryptobox"
|
PLUGIN_TYPE = "cryptobox"
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.plugins.base
|
import cryptobox.plugins.base
|
||||||
|
|
||||||
REDIRECT_DELAY = 180
|
REDIRECT_DELAY = 180
|
||||||
|
|
|
@ -1,11 +1,33 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.web.testclass
|
import cryptobox.web.testclass
|
||||||
|
|
||||||
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
|
|
||||||
def test_read_form(self):
|
def test_read_form(self):
|
||||||
|
"""just read the form - I do not know of a way how to check success"""
|
||||||
url = self.URL + "shutdown"
|
url = self.URL + "shutdown"
|
||||||
self.register_auth(url)
|
self.register_auth(url)
|
||||||
self.cmd.go(url)
|
self.cmd.go(url)
|
||||||
self.cmd.find('shutdown\?type=reboot')
|
self.cmd.find('shutdown')
|
||||||
self.cmd.find('shutdown\?type=shutdown')
|
self.cmd.find('type=reboot')
|
||||||
|
self.cmd.find('type=shutdown')
|
||||||
|
|
||||||
|
|
|
@ -4,20 +4,20 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
||||||
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
||||||
"POT-Creation-Date: 2006-11-28 05:04+0100\n"
|
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2006-11-29 19:31+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: Lars Kruse <devel@sumpfralle.de>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
"X-Generator: Pootle 0.10.1\n"
|
||||||
|
|
||||||
#: Name
|
#: Name
|
||||||
msgid "System preferences"
|
msgid "System preferences"
|
||||||
msgstr ""
|
msgstr "System preferences"
|
||||||
|
|
||||||
#: Link
|
#: Link
|
||||||
msgid "Preferences"
|
msgid "Preferences"
|
||||||
msgstr ""
|
msgstr "Preferences"
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.plugins.base
|
import cryptobox.plugins.base
|
||||||
|
|
||||||
class system_preferences(cryptobox.plugins.base.CryptoBoxPlugin):
|
class system_preferences(cryptobox.plugins.base.CryptoBoxPlugin):
|
||||||
|
@ -12,6 +32,6 @@ class system_preferences(cryptobox.plugins.base.CryptoBoxPlugin):
|
||||||
|
|
||||||
|
|
||||||
def getStatus(self):
|
def getStatus(self):
|
||||||
return "TODO"
|
return ":".join([p.getName() for p in self.site.pluginList.getPlugins()])
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,36 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.web.testclass
|
import cryptobox.web.testclass
|
||||||
|
|
||||||
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
|
|
||||||
def test_preferences_overview(self):
|
def test_read_form(self):
|
||||||
self.cmd.go(self.URL + "system_preferences?weblang=en")
|
self.cmd.go(self.URL + "system_preferences")
|
||||||
self.cmd.find("Preferences")
|
self.cmd.find("Preferences")
|
||||||
|
|
||||||
|
|
||||||
|
def test_check_plugins(self):
|
||||||
|
self.cmd.go(self.URL + "system_preferences")
|
||||||
|
self.cmd.find(u'Data.Status.Plugins.system_preferences=(.*)$', "m")
|
||||||
|
plugins = self.locals["__match__"].split(":")
|
||||||
|
self.assertTrue(len(plugins) > 1)
|
||||||
|
self.assertTrue("disks" in plugins)
|
||||||
|
|
||||||
|
|
|
@ -4,88 +4,88 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
||||||
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
||||||
"POT-Creation-Date: 2006-11-28 05:04+0100\n"
|
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2006-11-29 19:31+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: Lars Kruse <devel@sumpfralle.de>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
"X-Generator: Pootle 0.10.1\n"
|
||||||
|
|
||||||
#: Name
|
#: Name
|
||||||
msgid "User Manager"
|
msgid "User Manager"
|
||||||
msgstr ""
|
msgstr "User Manager"
|
||||||
|
|
||||||
#: Link
|
#: Link
|
||||||
msgid "Manage users"
|
msgid "Manage users"
|
||||||
msgstr ""
|
msgstr "Manage users"
|
||||||
|
|
||||||
#: Title.AddUser
|
#: Title.AddUser
|
||||||
msgid "Add new user"
|
msgid "Add new user"
|
||||||
msgstr ""
|
msgstr "Add new user"
|
||||||
|
|
||||||
#: Title.DelUser
|
#: Title.DelUser
|
||||||
msgid "Remove user"
|
msgid "Remove user"
|
||||||
msgstr ""
|
msgstr "Remove user"
|
||||||
|
|
||||||
#: Title.ChangePassword
|
#: Title.ChangePassword
|
||||||
msgid "Change password"
|
msgid "Change password"
|
||||||
msgstr ""
|
msgstr "Change password"
|
||||||
|
|
||||||
#: Button.DelUser
|
#: Button.DelUser
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr ""
|
msgstr "Remove"
|
||||||
|
|
||||||
#: Text.NewUser
|
#: Text.NewUser
|
||||||
msgid "Name of the new user"
|
msgid "Name of the new user"
|
||||||
msgstr ""
|
msgstr "Name of the new user"
|
||||||
|
|
||||||
#: Text.DelUser
|
#: Text.DelUser
|
||||||
msgid "User to remove"
|
msgid "User to remove"
|
||||||
msgstr ""
|
msgstr "User to remove"
|
||||||
|
|
||||||
#: Text.ChangePasswordUser
|
#: Text.ChangePasswordUser
|
||||||
msgid "Change user's password"
|
msgid "Change user's password"
|
||||||
msgstr ""
|
msgstr "Change user's password"
|
||||||
|
|
||||||
#: SuccessMessage.UserAdded.Title
|
#: SuccessMessage.UserAdded.Title
|
||||||
msgid "User added"
|
msgid "User added"
|
||||||
msgstr ""
|
msgstr "User added"
|
||||||
|
|
||||||
#: SuccessMessage.UserAdded.Text
|
#: SuccessMessage.UserAdded.Text
|
||||||
msgid "The new user was added successfully."
|
msgid "The new user was added successfully."
|
||||||
msgstr ""
|
msgstr "The new user was added successfully."
|
||||||
|
|
||||||
#: SuccessMessage.UserRemoved.Title
|
#: SuccessMessage.UserRemoved.Title
|
||||||
msgid "User removed"
|
msgid "User removed"
|
||||||
msgstr ""
|
msgstr "User removed"
|
||||||
|
|
||||||
#: SuccessMessage.UserRemoved.Text
|
#: SuccessMessage.UserRemoved.Text
|
||||||
msgid "The user was removed successfully."
|
msgid "The user was removed successfully."
|
||||||
msgstr ""
|
msgstr "The user was removed successfully."
|
||||||
|
|
||||||
#: SuccessMessage.PasswordChanged.Title
|
#: SuccessMessage.PasswordChanged.Title
|
||||||
msgid "Password changed"
|
msgid "Password changed"
|
||||||
msgstr ""
|
msgstr "Password changed"
|
||||||
|
|
||||||
#: SuccessMessage.PasswordChanged.Text
|
#: SuccessMessage.PasswordChanged.Text
|
||||||
msgid "The password was changed successfully."
|
msgid "The password was changed successfully."
|
||||||
msgstr ""
|
msgstr "The password was changed successfully."
|
||||||
|
|
||||||
#: WarningMessage.InvalidUserName.Title
|
#: WarningMessage.InvalidUserName.Title
|
||||||
msgid "Invalid username"
|
msgid "Invalid username"
|
||||||
msgstr ""
|
msgstr "Invalid username"
|
||||||
|
|
||||||
#: WarningMessage.InvalidUserName.Text
|
#: WarningMessage.InvalidUserName.Text
|
||||||
msgid "The choosen username is invalid: only letters and digits are allowed."
|
msgid "The choosen username is invalid: only letters and digits are allowed."
|
||||||
msgstr ""
|
msgstr "The choosen username is invalid: only letters and digits are allowed."
|
||||||
|
|
||||||
#: WarningMessage.UserAlreadyExists.Title
|
#: WarningMessage.UserAlreadyExists.Title
|
||||||
msgid "User exists"
|
msgid "User exists"
|
||||||
msgstr ""
|
msgstr "User exists"
|
||||||
|
|
||||||
#: WarningMessage.UserAlreadyExists.Text
|
#: WarningMessage.UserAlreadyExists.Text
|
||||||
msgid "The choosen username does already exist. Please choose another one."
|
msgid "The choosen username does already exist. Please choose another one."
|
||||||
msgstr ""
|
msgstr "The choosen username does already exist. Please choose another one."
|
||||||
|
|
|
@ -44,6 +44,11 @@ WarningMessage {
|
||||||
Text = The choosen username is invalid: only letters and digits are allowed.
|
Text = The choosen username is invalid: only letters and digits are allowed.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NeverRemoveReservedUser {
|
||||||
|
Title = Reserved user
|
||||||
|
Text = You may not remove a reserved user. Sorry!
|
||||||
|
}
|
||||||
|
|
||||||
UserAlreadyExists {
|
UserAlreadyExists {
|
||||||
Title = User exists
|
Title = User exists
|
||||||
Text = The choosen username does already exist. Please choose another one.
|
Text = The choosen username does already exist. Please choose another one.
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.web.testclass
|
import cryptobox.web.testclass
|
||||||
|
|
||||||
## this user may not be removed
|
## this user may not be removed
|
||||||
|
@ -5,23 +25,170 @@ from user_manager import RESERVED_USERS
|
||||||
|
|
||||||
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
|
|
||||||
|
|
||||||
def test_read_users(self):
|
def test_read_users(self):
|
||||||
|
"""does the 'admin' user exist?"""
|
||||||
cur_users = self._getUsers()
|
cur_users = self._getUsers()
|
||||||
# self.cmd.showforms()
|
self.cmd.find("Manage users")
|
||||||
|
self.assertTrue("admin" in cur_users)
|
||||||
|
|
||||||
|
|
||||||
def _addUser(self, user, password):
|
def test_test_wrong_credentials(self):
|
||||||
self._gotPage()
|
"""check if the user_manager is protected"""
|
||||||
## TODO: finish
|
url = self.URL + "user_manager"
|
||||||
|
self.register_auth(url,"foo","bar")
|
||||||
|
self.cmd.go(url)
|
||||||
|
self.cmd.notfind("Manage users")
|
||||||
|
|
||||||
|
|
||||||
def _gotoPage(self):
|
def test_add_existing_user(self):
|
||||||
|
"""adding an existing user should fail"""
|
||||||
url = self.URL + "user_manager"
|
url = self.URL + "user_manager"
|
||||||
self.register_auth(url)
|
self.register_auth(url)
|
||||||
self.cmd.go(url)
|
self._add_user("admin","foo","foo")
|
||||||
|
self.cmd.find("The choosen username does already exist")
|
||||||
|
|
||||||
|
|
||||||
|
def test_add_invalid_username(self):
|
||||||
|
"""adding an invalid username should fail"""
|
||||||
|
url = self.URL + "user_manager"
|
||||||
|
self.register_auth(url)
|
||||||
|
self._add_user("foo/bar","foo","foo")
|
||||||
|
self.cmd.find("Invalid username")
|
||||||
|
self.assertFalse("foo/bar" in self._getUsers())
|
||||||
|
|
||||||
|
|
||||||
|
def test_add_without_password(self):
|
||||||
|
"""adding a user without password should fail"""
|
||||||
|
url = self.URL + "user_manager"
|
||||||
|
self.register_auth(url)
|
||||||
|
self.assertFalse("foo" in self._getUsers())
|
||||||
|
self._add_user("foo","","foo")
|
||||||
|
self.cmd.find("Missing new password")
|
||||||
|
self.assertFalse("foo" in self._getUsers())
|
||||||
|
|
||||||
|
|
||||||
|
def test_add_with_different_passwords(self):
|
||||||
|
"""adding a user with different passwords should fail"""
|
||||||
|
url = self.URL + "user_manager"
|
||||||
|
self.register_auth(url)
|
||||||
|
self.assertFalse("foo" in self._getUsers())
|
||||||
|
self._add_user("foo","bar","foo")
|
||||||
|
self.cmd.find("Different passwords")
|
||||||
|
self.assertFalse("foo" in self._getUsers())
|
||||||
|
|
||||||
|
|
||||||
|
def test_change_pw_for_invalid_user(self):
|
||||||
|
"""changing a password of a non existing user should fail"""
|
||||||
|
url = self.URL + "user_manager"
|
||||||
|
self.register_auth(url)
|
||||||
|
self.assertFalse("barfoo" in self._getUsers())
|
||||||
|
self.cmd.go(url + "?store=change_password&user=foobar&new_pw=foo&new_pw2=foo")
|
||||||
|
self.cmd.notfind("Password changed")
|
||||||
|
|
||||||
|
|
||||||
|
def test_change_pw_without_password(self):
|
||||||
|
"""changing a password without a new password should fail"""
|
||||||
|
url = self.URL + "user_manager"
|
||||||
|
self.register_auth(url)
|
||||||
|
self.assertFalse("foo" in self._getUsers())
|
||||||
|
self._add_user("foo","bar","bar")
|
||||||
|
self.assertTrue("foo" in self._getUsers())
|
||||||
|
self._change_password("foo","","foo")
|
||||||
|
self.cmd.find("Missing new password")
|
||||||
|
self._del_user("foo")
|
||||||
|
self.assertFalse("foo" in self._getUsers())
|
||||||
|
|
||||||
|
|
||||||
|
def test_change_pw_wit_different_passwords(self):
|
||||||
|
"""changing a password while supplying different passwords should fail"""
|
||||||
|
url = self.URL + "user_manager"
|
||||||
|
self.register_auth(url)
|
||||||
|
self.assertFalse("foo" in self._getUsers())
|
||||||
|
self._add_user("foo","bar","bar")
|
||||||
|
self.assertTrue("foo" in self._getUsers())
|
||||||
|
self._change_password("foo","bar","foo")
|
||||||
|
self.cmd.find("Different passwords")
|
||||||
|
self._del_user("foo")
|
||||||
|
self.assertFalse("foo" in self._getUsers())
|
||||||
|
|
||||||
|
|
||||||
|
def _remove_reserved_user(self):
|
||||||
|
"""removing a reserved user should fail"""
|
||||||
|
url = self.URL + "user_manager"
|
||||||
|
self.register_auth(url)
|
||||||
|
self.assertTrue("admin" in self._getUsers())
|
||||||
|
self._del_user("admin")
|
||||||
|
self.cmd.find("may not remove a reserved user")
|
||||||
|
self.assertTrue("admin" in self._getUsers())
|
||||||
|
|
||||||
|
|
||||||
|
def _remove_non_existing_user(self):
|
||||||
|
"""removing a non-existing user should fail"""
|
||||||
|
url = self.URL + "user_manager"
|
||||||
|
self.register_auth(url)
|
||||||
|
self.assertFalse("barfoo" in self._getUsers())
|
||||||
|
self._del_user("barfoo")
|
||||||
|
self.cmd.notfind("User removed")
|
||||||
|
|
||||||
|
|
||||||
|
def test_manage_users(self):
|
||||||
|
"""add a new user, change its password and remove the user afterwards"""
|
||||||
|
url = self.URL + "user_manager"
|
||||||
|
self.register_auth(url)
|
||||||
|
## remove the user that should be added - just in case a previous run was unclean
|
||||||
|
## check its existence before
|
||||||
|
if "foobar" in self._getUsers(): self._del_user("foobar")
|
||||||
|
## add a new user
|
||||||
|
self._add_user("foobar","foo","foo")
|
||||||
|
self.cmd.find("User added")
|
||||||
|
users = self._getUsers()
|
||||||
|
self.assertTrue("foobar" in users)
|
||||||
|
## change the password of the new user
|
||||||
|
self.register_auth(url,"foobar","foo")
|
||||||
|
self._change_password("foobar","bar","bar")
|
||||||
|
self.cmd.find("Password changed")
|
||||||
|
## remove the new user
|
||||||
|
self.register_auth(url,"foobar","bar")
|
||||||
|
self._del_user("foobar")
|
||||||
|
self.cmd.find("User removed")
|
||||||
|
users = self._getUsers()
|
||||||
|
self.assertFalse("foobar" in users)
|
||||||
|
|
||||||
|
|
||||||
|
def test_invalid_input(self):
|
||||||
|
"""check all combinations of invalid input"""
|
||||||
|
url = self.URL + "user_manager"
|
||||||
|
self.register_auth(url)
|
||||||
|
self.cmd.go(url + "?store=foobar")
|
||||||
|
|
||||||
|
|
||||||
|
def _add_user(self, username, pw, pw2):
|
||||||
|
self.cmd.go(self.URL + "user_manager")
|
||||||
|
self.cmd.formvalue("add_user","user",username)
|
||||||
|
self.cmd.formvalue("add_user","new_pw",pw)
|
||||||
|
self.cmd.formvalue("add_user","new_pw2",pw2)
|
||||||
|
self.cmd.submit()
|
||||||
|
|
||||||
|
|
||||||
|
def _del_user(self, username):
|
||||||
|
self.cmd.go(self.URL + "user_manager")
|
||||||
|
self.cmd.formvalue("del_user","user",username)
|
||||||
|
self.cmd.submit()
|
||||||
|
|
||||||
|
|
||||||
|
def _change_password(self, username, pw, pw2):
|
||||||
|
self.cmd.go(self.URL + "user_manager")
|
||||||
|
self.cmd.formvalue("change_password","user",username)
|
||||||
|
self.cmd.formvalue("change_password","new_pw",pw)
|
||||||
|
self.cmd.formvalue("change_password","new_pw2",pw2)
|
||||||
|
self.cmd.submit()
|
||||||
|
|
||||||
|
|
||||||
def _getUsers(self):
|
def _getUsers(self):
|
||||||
self._gotoPage()
|
url = self.URL + "user_manager"
|
||||||
self.cmd.find("Data.Status.Plugins.user_manager=([\w/]+)")
|
self.register_auth(url)
|
||||||
return self.locals["__match__"].split("/")
|
self.cmd.go(url)
|
||||||
|
self.cmd.find("Data.Status.Plugins.user_manager=([\w:]+)")
|
||||||
|
return self.locals["__match__"].split(":")
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.plugins.base
|
import cryptobox.plugins.base
|
||||||
|
|
||||||
RESERVED_USERS = [ "admin" ]
|
RESERVED_USERS = [ "admin" ]
|
||||||
|
@ -48,9 +68,10 @@ class user_manager(cryptobox.plugins.base.CryptoBoxPlugin):
|
||||||
elif store == "del_user":
|
elif store == "del_user":
|
||||||
if user in RESERVED_USERS:
|
if user in RESERVED_USERS:
|
||||||
self.cbox.log.info("user_manager: tried to remove reserved user (%s)" % user)
|
self.cbox.log.info("user_manager: tried to remove reserved user (%s)" % user)
|
||||||
|
self.hdf["Data.Warning"] = "NeverRemoveReservedUser"
|
||||||
elif user in adminDict.keys():
|
elif user in adminDict.keys():
|
||||||
del adminDict[user]
|
del adminDict[user]
|
||||||
self.hdf["Data.Success"] = "Plugins.user_manager.UserAdded"
|
self.hdf["Data.Success"] = "Plugins.user_manager.UserRemoved"
|
||||||
try:
|
try:
|
||||||
self.cbox.prefs.userDB.write()
|
self.cbox.prefs.userDB.write()
|
||||||
except IOError:
|
except IOError:
|
||||||
|
@ -64,7 +85,7 @@ class user_manager(cryptobox.plugins.base.CryptoBoxPlugin):
|
||||||
|
|
||||||
|
|
||||||
def getStatus(self):
|
def getStatus(self):
|
||||||
return "/".join(self.cbox.prefs.userDB["admins"].keys())
|
return ":".join(self.cbox.prefs.userDB["admins"].keys())
|
||||||
|
|
||||||
|
|
||||||
def __cleanHDF(self):
|
def __cleanHDF(self):
|
||||||
|
|
|
@ -4,56 +4,56 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
||||||
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
||||||
"POT-Creation-Date: 2006-11-28 05:04+0100\n"
|
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2006-11-29 19:31+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: Lars Kruse <devel@sumpfralle.de>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
"X-Generator: Pootle 0.10.1\n"
|
||||||
|
|
||||||
#: Name
|
#: Name
|
||||||
msgid "Automatic activation"
|
msgid "Automatic activation"
|
||||||
msgstr ""
|
msgstr "Automatic activation"
|
||||||
|
|
||||||
#: Title.AutoMountVolume
|
#: Title.AutoMountVolume
|
||||||
msgid "Activate during startup"
|
msgid "Activate during startup"
|
||||||
msgstr ""
|
msgstr "Activate during startup"
|
||||||
|
|
||||||
#: Button.AutoMountOn
|
#: Button.AutoMountOn
|
||||||
msgid "Enable automatic activation"
|
msgid "Enable automatic activation"
|
||||||
msgstr ""
|
msgstr "Enable automatic activation"
|
||||||
|
|
||||||
#: Button.AutoMountOff
|
#: Button.AutoMountOff
|
||||||
msgid "Disable automatic activation"
|
msgid "Disable automatic activation"
|
||||||
msgstr ""
|
msgstr "Disable automatic activation"
|
||||||
|
|
||||||
#: Text.AutoIsOn
|
#: Text.AutoIsOn
|
||||||
msgid "Currently automatic activation is enabled"
|
msgid "Currently automatic activation is enabled"
|
||||||
msgstr ""
|
msgstr "Currently automatic activation is enabled"
|
||||||
|
|
||||||
#: Text.AutoIsOff
|
#: Text.AutoIsOff
|
||||||
msgid "Currently automatic activation is disabled"
|
msgid "Currently automatic activation is disabled"
|
||||||
msgstr ""
|
msgstr "Currently automatic activation is disabled"
|
||||||
|
|
||||||
#: SuccessMessage.AutoMountEnabled.Title
|
#: SuccessMessage.AutoMountEnabled.Title
|
||||||
msgid "Automatic activation enabled"
|
msgid "Automatic activation enabled"
|
||||||
msgstr ""
|
msgstr "Automatic activation enabled"
|
||||||
|
|
||||||
#: SuccessMessage.AutoMountEnabled.Text
|
#: SuccessMessage.AutoMountEnabled.Text
|
||||||
msgid "This volume will get activated during startup"
|
msgid "This volume will get activated during startup"
|
||||||
msgstr ""
|
msgstr "This volume will get activated during startup"
|
||||||
|
|
||||||
#: SuccessMessage.AutoMountDisabled.Title
|
#: SuccessMessage.AutoMountDisabled.Title
|
||||||
msgid "Automatic activation disabled"
|
msgid "Automatic activation disabled"
|
||||||
msgstr ""
|
msgstr "Automatic activation disabled"
|
||||||
|
|
||||||
#: SuccessMessage.AutoMountDisabled.Text
|
#: SuccessMessage.AutoMountDisabled.Text
|
||||||
msgid "This volume will not get activated during startup"
|
msgid "This volume will not get activated during startup"
|
||||||
msgstr ""
|
msgstr "This volume will not get activated during startup"
|
||||||
|
|
||||||
#: AdviceMessage.NoAutoMountForEncryptedVolumes.Text
|
#: AdviceMessage.NoAutoMountForEncryptedVolumes.Text
|
||||||
msgid "Automatic activation is not possible for encrypted volumes."
|
msgid "Automatic activation is not possible for encrypted volumes."
|
||||||
msgstr ""
|
msgstr "Automatic activation is not possible for encrypted volumes."
|
||||||
|
|
|
@ -1,9 +1,29 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.web.testclass
|
import cryptobox.web.testclass
|
||||||
|
|
||||||
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
|
|
||||||
def test_read_form(self):
|
def test_read_form(self):
|
||||||
url = self.URL + "volume_automount?weblang=en&device=%2Fdev%2Floop1"
|
url = self.URL + "volume_automount?weblang=en&device=%2Fdev%2F" + self.device + "1"
|
||||||
self.register_auth(url)
|
self.register_auth(url)
|
||||||
self.cmd.go(url)
|
self.cmd.go(url)
|
||||||
self.cmd.find('Activate')
|
self.cmd.find('Activate')
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.plugins.base
|
import cryptobox.plugins.base
|
||||||
from cryptobox.core.exceptions import *
|
from cryptobox.core.exceptions import *
|
||||||
|
|
||||||
|
|
|
@ -4,60 +4,66 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
||||||
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
||||||
"POT-Creation-Date: 2006-11-28 05:04+0100\n"
|
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2006-11-29 19:31+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: Lars Kruse <devel@sumpfralle.de>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
"X-Generator: Pootle 0.10.1\n"
|
||||||
|
|
||||||
#: Name
|
#: Name
|
||||||
msgid "Change volume password"
|
msgid "Change volume password"
|
||||||
msgstr ""
|
msgstr "Change volume password"
|
||||||
|
|
||||||
#: Link
|
#: Link
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr ""
|
msgstr "Password"
|
||||||
|
|
||||||
#: Title.ChangePassword
|
#: Title.ChangePassword
|
||||||
msgid "Change the password of this volume"
|
msgid "Change the password of this volume"
|
||||||
msgstr ""
|
msgstr "Change the password of this volume"
|
||||||
|
|
||||||
#: Button.ChangePassword
|
#: Button.ChangePassword
|
||||||
msgid "Change password"
|
msgid "Change password"
|
||||||
msgstr ""
|
msgstr "Change password"
|
||||||
|
|
||||||
#: Button.FormatContainer
|
#: Button.FormatContainer
|
||||||
msgid "Format volume"
|
msgid "Format volume"
|
||||||
msgstr ""
|
msgstr "Format volume"
|
||||||
|
|
||||||
#: AdviceMessage.FormatForEncryptionSupport.Text
|
#: AdviceMessage.FormatForEncryptionSupport.Text
|
||||||
msgid "This volume is not encrypted. If you want to turn on encryption, then you have to format the volume. Beware: this will destroy all data of this container."
|
msgid ""
|
||||||
|
"This volume is not encrypted. If you want to turn on encryption, then you "
|
||||||
|
"have to format the volume. Beware: this will destroy all data of this "
|
||||||
|
"container."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"This volume is not encrypted. If you want to turn on encryption, then you "
|
||||||
|
"have to format the volume. Beware: this will destroy all data of this "
|
||||||
|
"container."
|
||||||
|
|
||||||
#: AdviceMessage.FormatForEncryptionSupport.Link.Text
|
#: AdviceMessage.FormatForEncryptionSupport.Link.Text
|
||||||
msgid "Format this volume"
|
msgid "Format this volume"
|
||||||
msgstr ""
|
msgstr "Format this volume"
|
||||||
|
|
||||||
#: AdviceMessage.SuccessMessage.PasswordChange.Title
|
#: AdviceMessage.SuccessMessage.PasswordChange.Title
|
||||||
msgid "Password changed"
|
msgid "Password changed"
|
||||||
msgstr ""
|
msgstr "Password changed"
|
||||||
|
|
||||||
#: AdviceMessage.SuccessMessage.PasswordChange.Text
|
#: AdviceMessage.SuccessMessage.PasswordChange.Text
|
||||||
msgid "The password of this volume was changed successfully."
|
msgid "The password of this volume was changed successfully."
|
||||||
msgstr ""
|
msgstr "The password of this volume was changed successfully."
|
||||||
|
|
||||||
#: AdviceMessage.WarningMessage.PasswordChange.Title
|
#: AdviceMessage.WarningMessage.PasswordChange.Title
|
||||||
msgid "Could not change password"
|
msgid "Could not change password"
|
||||||
msgstr ""
|
msgstr "Could not change password"
|
||||||
|
|
||||||
#: AdviceMessage.WarningMessage.PasswordChange.Text
|
#: AdviceMessage.WarningMessage.PasswordChange.Text
|
||||||
msgid "The password of this volume could not be changed - sorry!"
|
msgid "The password of this volume could not be changed - sorry!"
|
||||||
msgstr ""
|
msgstr "The password of this volume could not be changed - sorry!"
|
||||||
|
|
||||||
#: AdviceMessage.FormatForEncryptionSupport.Link.Rel
|
#: AdviceMessage.FormatForEncryptionSupport.Link.Rel
|
||||||
msgid "volume_format_fs"
|
msgid "volume_format_fs"
|
||||||
msgstr ""
|
msgstr "volume_format_fs"
|
||||||
|
|
|
@ -1,9 +1,29 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.web.testclass
|
import cryptobox.web.testclass
|
||||||
|
|
||||||
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
|
|
||||||
def test_read_form(self):
|
def test_read_form(self):
|
||||||
url = self.URL + "volume_chpasswd?weblang=en&device=%2Fdev%2Floop1"
|
url = self.URL + "volume_chpasswd?weblang=en&device=%2Fdev%2F" + self.device + "1"
|
||||||
self.register_auth(url)
|
self.register_auth(url)
|
||||||
self.cmd.go(url)
|
self.cmd.go(url)
|
||||||
self.cmd.find('hange')
|
self.cmd.find('hange')
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.plugins.base
|
import cryptobox.plugins.base
|
||||||
from cryptobox.core.exceptions import *
|
from cryptobox.core.exceptions import *
|
||||||
|
|
||||||
|
|
|
@ -4,64 +4,64 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
||||||
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
||||||
"POT-Creation-Date: 2006-11-28 05:04+0100\n"
|
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2006-11-29 19:31+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: Lars Kruse <devel@sumpfralle.de>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
"X-Generator: Pootle 0.10.1\n"
|
||||||
|
|
||||||
#: Name
|
#: Name
|
||||||
msgid "Technical details of a volume"
|
msgid "Technical details of a volume"
|
||||||
msgstr ""
|
msgstr "Technical details of a volume"
|
||||||
|
|
||||||
#: Link
|
#: Link
|
||||||
msgid "Details"
|
msgid "Details"
|
||||||
msgstr ""
|
msgstr "Details"
|
||||||
|
|
||||||
#: Title.Details
|
#: Title.Details
|
||||||
msgid "Technical details"
|
msgid "Technical details"
|
||||||
msgstr ""
|
msgstr "Technical details"
|
||||||
|
|
||||||
#: Text.DeviceName
|
#: Text.DeviceName
|
||||||
msgid "Name of device"
|
msgid "Name of device"
|
||||||
msgstr ""
|
msgstr "Name of device"
|
||||||
|
|
||||||
#: Text.Status
|
#: Text.Status
|
||||||
msgid "Status"
|
msgid "Status"
|
||||||
msgstr ""
|
msgstr "Status"
|
||||||
|
|
||||||
#: Text.StatusActive
|
#: Text.StatusActive
|
||||||
msgid "active"
|
msgid "active"
|
||||||
msgstr ""
|
msgstr "active"
|
||||||
|
|
||||||
#: Text.StatusPassive
|
#: Text.StatusPassive
|
||||||
msgid "passive"
|
msgid "passive"
|
||||||
msgstr ""
|
msgstr "passive"
|
||||||
|
|
||||||
#: Text.EncryptionStatus
|
#: Text.EncryptionStatus
|
||||||
msgid "Encryption"
|
msgid "Encryption"
|
||||||
msgstr ""
|
msgstr "Encryption"
|
||||||
|
|
||||||
#: Text.Yes
|
#: Text.Yes
|
||||||
msgid "Yes"
|
msgid "Yes"
|
||||||
msgstr ""
|
msgstr "Yes"
|
||||||
|
|
||||||
#: Text.No
|
#: Text.No
|
||||||
msgid "No"
|
msgid "No"
|
||||||
msgstr ""
|
msgstr "No"
|
||||||
|
|
||||||
#: Text.Size.All
|
#: Text.Size.All
|
||||||
msgid "Space of volume"
|
msgid "Space of volume"
|
||||||
msgstr ""
|
msgstr "Space of volume"
|
||||||
|
|
||||||
#: Text.Size.Avail
|
#: Text.Size.Avail
|
||||||
msgid "Available space of volume"
|
msgid "Available space of volume"
|
||||||
msgstr ""
|
msgstr "Available space of volume"
|
||||||
|
|
||||||
#: Text.Size.Used
|
#: Text.Size.Used
|
||||||
msgid "Used space of volume"
|
msgid "Used space of volume"
|
||||||
msgstr ""
|
msgstr "Used space of volume"
|
||||||
|
|
|
@ -1,9 +1,29 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.web.testclass
|
import cryptobox.web.testclass
|
||||||
|
|
||||||
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
|
|
||||||
def test_read_form(self):
|
def test_read_form(self):
|
||||||
url = self.URL + "volume_details?weblang=en&device=%2Fdev%2Floop1"
|
url = self.URL + "volume_details?weblang=en&device=%2Fdev%2F" + self.device + "1"
|
||||||
self.register_auth(url)
|
self.register_auth(url)
|
||||||
self.cmd.go(url)
|
self.cmd.go(url)
|
||||||
self.cmd.find('Technical details')
|
self.cmd.find('Technical details')
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.plugins.base
|
import cryptobox.plugins.base
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,104 +4,106 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
||||||
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
||||||
"POT-Creation-Date: 2006-11-28 05:04+0100\n"
|
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2006-11-29 19:31+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: Lars Kruse <devel@sumpfralle.de>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
"X-Generator: Pootle 0.10.1\n"
|
||||||
|
|
||||||
#: Name
|
#: Name
|
||||||
msgid "Create filesystems"
|
msgid "Create filesystems"
|
||||||
msgstr ""
|
msgstr "Create filesystems"
|
||||||
|
|
||||||
#: Link
|
#: Link
|
||||||
msgid "Format"
|
msgid "Format"
|
||||||
msgstr ""
|
msgstr "Format"
|
||||||
|
|
||||||
#: Title.Format
|
#: Title.Format
|
||||||
msgid "Initializing filesystem"
|
msgid "Initializing filesystem"
|
||||||
msgstr ""
|
msgstr "Initializing filesystem"
|
||||||
|
|
||||||
#: Button.Format
|
#: Button.Format
|
||||||
msgid "Initialize filesystem"
|
msgid "Initialize filesystem"
|
||||||
msgstr ""
|
msgstr "Initialize filesystem"
|
||||||
|
|
||||||
#: Text.Confirm
|
#: Text.Confirm
|
||||||
msgid "Yes, I know what I am doing!"
|
msgid "Yes, I know what I am doing!"
|
||||||
msgstr ""
|
msgstr "Yes, I know what I am doing!"
|
||||||
|
|
||||||
#: Text.FSType
|
#: Text.FSType
|
||||||
msgid "Filesystem type"
|
msgid "Filesystem type"
|
||||||
msgstr ""
|
msgstr "Filesystem type"
|
||||||
|
|
||||||
#: Text.IsEncrypted
|
#: Text.IsEncrypted
|
||||||
msgid "Encryption"
|
msgid "Encryption"
|
||||||
msgstr ""
|
msgstr "Encryption"
|
||||||
|
|
||||||
#: Text.Yes
|
#: Text.Yes
|
||||||
msgid "Yes"
|
msgid "Yes"
|
||||||
msgstr ""
|
msgstr "Yes"
|
||||||
|
|
||||||
#: Text.No
|
#: Text.No
|
||||||
msgid "No"
|
msgid "No"
|
||||||
msgstr ""
|
msgstr "No"
|
||||||
|
|
||||||
#: AdviceMessage.FormatWarning.Text
|
#: AdviceMessage.FormatWarning.Text
|
||||||
msgid "All data of the selected filesystem will get lost!"
|
msgid "All data of the selected filesystem will get lost!"
|
||||||
msgstr ""
|
msgstr "All data of the selected filesystem will get lost!"
|
||||||
|
|
||||||
#: AdviceMessage.UnmountBeforeInit.Text
|
#: AdviceMessage.UnmountBeforeInit.Text
|
||||||
msgid "You must deactivate this volume before you may initialize it."
|
msgid "You must deactivate this volume before you may initialize it."
|
||||||
msgstr ""
|
msgstr "You must deactivate this volume before you may initialize it."
|
||||||
|
|
||||||
#: AdviceMessage.UnmountBeforeInit.Link.Text
|
#: AdviceMessage.UnmountBeforeInit.Link.Text
|
||||||
msgid "Deactive volume now"
|
msgid "Deactive volume now"
|
||||||
msgstr ""
|
msgstr "Deactive volume now"
|
||||||
|
|
||||||
#: AdviceMessage.UnmountBeforeInit.Link.Attr1.name
|
#: AdviceMessage.UnmountBeforeInit.Link.Attr1.name
|
||||||
msgid "action"
|
msgid "action"
|
||||||
msgstr ""
|
msgstr "action"
|
||||||
|
|
||||||
#: AdviceMessage.UnmountBeforeInit.Link.Attr1.value
|
#: AdviceMessage.UnmountBeforeInit.Link.Attr1.value
|
||||||
msgid "umount"
|
msgid "umount"
|
||||||
msgstr ""
|
msgstr "umount"
|
||||||
|
|
||||||
#: AdviceMessage.UnmountBeforeInit.Link.Attr2.name
|
#: AdviceMessage.UnmountBeforeInit.Link.Attr2.name
|
||||||
msgid "redirect"
|
msgid "redirect"
|
||||||
msgstr ""
|
msgstr "redirect"
|
||||||
|
|
||||||
#: AdviceMessage.UnmountBeforeInit.Link.Attr2.value
|
#: AdviceMessage.UnmountBeforeInit.Link.Attr2.value
|
||||||
msgid "volume_format_fs"
|
msgid "volume_format_fs"
|
||||||
msgstr ""
|
msgstr "volume_format_fs"
|
||||||
|
|
||||||
#: SuccessMessage.FormatSuccess.Title
|
#: SuccessMessage.FormatSuccess.Title
|
||||||
msgid "Formatting successful"
|
msgid "Formatting successful"
|
||||||
msgstr ""
|
msgstr "Formatting successful"
|
||||||
|
|
||||||
#: SuccessMessage.FormatSuccess.Text
|
#: SuccessMessage.FormatSuccess.Text
|
||||||
msgid "The selected filesystem was successfully formatted."
|
msgid "The selected filesystem was successfully formatted."
|
||||||
msgstr ""
|
msgstr "The selected filesystem was successfully formatted."
|
||||||
|
|
||||||
#: WarningMessage.FormatNotConfirmed.Title
|
#: WarningMessage.FormatNotConfirmed.Title
|
||||||
msgid "Confirmation missing"
|
msgid "Confirmation missing"
|
||||||
msgstr ""
|
msgstr "Confirmation missing"
|
||||||
|
|
||||||
#: WarningMessage.FormatNotConfirmed.Text
|
#: WarningMessage.FormatNotConfirmed.Text
|
||||||
msgid "You did not confirm this action by activating the checkbox."
|
msgid "You did not confirm this action by activating the checkbox."
|
||||||
msgstr ""
|
msgstr "You did not confirm this action by activating the checkbox."
|
||||||
|
|
||||||
#: WarningMessage.FormatFailed.Title
|
#: WarningMessage.FormatFailed.Title
|
||||||
msgid "Formatting failed"
|
msgid "Formatting failed"
|
||||||
msgstr ""
|
msgstr "Formatting failed"
|
||||||
|
|
||||||
#: WarningMessage.FormatFailed.Text
|
#: WarningMessage.FormatFailed.Text
|
||||||
msgid "Formatting of the selected filesystem failed for unknown reasons - sorry!"
|
msgid ""
|
||||||
|
"Formatting of the selected filesystem failed for unknown reasons - sorry!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Formatting of the selected filesystem failed for unknown reasons - sorry!"
|
||||||
|
|
||||||
#: AdviceMessage.UnmountBeforeInit.Link.Rel
|
#: AdviceMessage.UnmountBeforeInit.Link.Rel
|
||||||
msgid "volume_mount"
|
msgid "volume_mount"
|
||||||
msgstr ""
|
msgstr "volume_mount"
|
||||||
|
|
|
@ -1,9 +1,29 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.web.testclass
|
import cryptobox.web.testclass
|
||||||
|
|
||||||
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
|
|
||||||
def test_read_form(self):
|
def test_read_form(self):
|
||||||
url = self.URL + "volume_format_fs?weblang=en&device=%2Fdev%2Floop1"
|
url = self.URL + "volume_format_fs?weblang=en&device=%2Fdev%2F" + self.device + "1"
|
||||||
self.register_auth(url)
|
self.register_auth(url)
|
||||||
self.cmd.go(url)
|
self.cmd.go(url)
|
||||||
self.cmd.find('Initializing filesystem')
|
self.cmd.find('Initializing filesystem')
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.plugins.base
|
import cryptobox.plugins.base
|
||||||
from cryptobox.core.exceptions import *
|
from cryptobox.core.exceptions import *
|
||||||
import cryptobox.core.container as cbxContainer
|
import cryptobox.core.container as cbxContainer
|
||||||
|
|
|
@ -5,95 +5,101 @@ msgstr ""
|
||||||
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
||||||
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
||||||
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2006-11-29 19:31+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: Lars Kruse <devel@sumpfralle.de>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
"X-Generator: Pootle 0.10.1\n"
|
||||||
|
|
||||||
#: Name
|
#: Name
|
||||||
msgid "Mount and umount volumes"
|
msgid "Mount and umount volumes"
|
||||||
msgstr ""
|
msgstr "Mount and umount volumes"
|
||||||
|
|
||||||
#: Link
|
#: Link
|
||||||
msgid "Activation"
|
msgid "Activation"
|
||||||
msgstr ""
|
msgstr "Activation"
|
||||||
|
|
||||||
#: Title.Mount
|
#: Title.Mount
|
||||||
msgid "Activate volume"
|
msgid "Activate volume"
|
||||||
msgstr ""
|
msgstr "Activate volume"
|
||||||
|
|
||||||
#: Title.Umount
|
#: Title.Umount
|
||||||
msgid "Deactivate volume"
|
msgid "Deactivate volume"
|
||||||
msgstr ""
|
msgstr "Deactivate volume"
|
||||||
|
|
||||||
#: SuccessMessage.MountDone.Title
|
#: SuccessMessage.MountDone.Title
|
||||||
msgid "Encrypted filesystem activated"
|
msgid "Encrypted filesystem activated"
|
||||||
msgstr ""
|
msgstr "Encrypted filesystem activated"
|
||||||
|
|
||||||
#: SuccessMessage.MountDone.Text
|
#: SuccessMessage.MountDone.Text
|
||||||
msgid "The encrypted filesystem is now available."
|
msgid "The encrypted filesystem is now available."
|
||||||
msgstr ""
|
msgstr "The encrypted filesystem is now available."
|
||||||
|
|
||||||
#: SuccessMessage.UmountDone.Title
|
#: SuccessMessage.UmountDone.Title
|
||||||
msgid "Encrypted filesystem deactivated"
|
msgid "Encrypted filesystem deactivated"
|
||||||
msgstr ""
|
msgstr "Encrypted filesystem deactivated"
|
||||||
|
|
||||||
#: SuccessMessage.UmountDone.Text
|
#: SuccessMessage.UmountDone.Text
|
||||||
msgid "The encrypted filesystem is now secured from all forms of access."
|
msgid "The encrypted filesystem is now secured from all forms of access."
|
||||||
msgstr ""
|
msgstr "The encrypted filesystem is now secured from all forms of access."
|
||||||
|
|
||||||
#: WarningMessage.MountFailed.Title
|
#: WarningMessage.MountFailed.Title
|
||||||
msgid "Activation failed"
|
msgid "Activation failed"
|
||||||
msgstr ""
|
msgstr "Activation failed"
|
||||||
|
|
||||||
#: WarningMessage.MountFailed.Text
|
#: WarningMessage.MountFailed.Text
|
||||||
msgid "The volume could not be activated for some reason. Sorry!"
|
msgid "The volume could not be activated for some reason. Sorry!"
|
||||||
msgstr ""
|
msgstr "The volume could not be activated for some reason. Sorry!"
|
||||||
|
|
||||||
#: WarningMessage.MountCryptoFailed.Text
|
#: WarningMessage.MountCryptoFailed.Text
|
||||||
msgid "Maybe you entered the wrong password?"
|
msgid "Maybe you entered the wrong password?"
|
||||||
msgstr ""
|
msgstr "Maybe you entered the wrong password?"
|
||||||
|
|
||||||
#: WarningMessage.InvalidContainerType.Title
|
#: WarningMessage.InvalidContainerType.Title
|
||||||
msgid "Unknown format"
|
msgid "Unknown format"
|
||||||
msgstr ""
|
msgstr "Unknown format"
|
||||||
|
|
||||||
#: WarningMessage.InvalidContainerType.Text
|
#: WarningMessage.InvalidContainerType.Text
|
||||||
msgid "The type of this volume ist not known. Maybe you want to initialize itfirst?"
|
msgid ""
|
||||||
|
"The type of this volume ist not known. Maybe you want to initialize itfirst?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"The type of this volume ist not known. Maybe you want to initialize itfirst?"
|
||||||
|
|
||||||
#: WarningMessage.InvalidContainerType.Link.Text
|
#: WarningMessage.InvalidContainerType.Link.Text
|
||||||
msgid "Format volume"
|
msgid "Format volume"
|
||||||
msgstr ""
|
msgstr "Format volume"
|
||||||
|
|
||||||
#: WarningMessage.UmountFailed.Title
|
#: WarningMessage.UmountFailed.Title
|
||||||
msgid "Deactivation failed"
|
msgid "Deactivation failed"
|
||||||
msgstr ""
|
msgstr "Deactivation failed"
|
||||||
|
|
||||||
#: WarningMessage.UmountFailed.Text
|
#: WarningMessage.UmountFailed.Text
|
||||||
msgid "The volume could not be deactivated. Probably some files are still in use. In case of emergency just shut down the CryptoBox!"
|
msgid ""
|
||||||
|
"The volume could not be deactivated. Probably some files are still in use. "
|
||||||
|
"In case of emergency just shut down the CryptoBox!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"The volume could not be deactivated. Probably some files are still in use. "
|
||||||
|
"In case of emergency just shut down the CryptoBox!"
|
||||||
|
|
||||||
#: WarningMessage.IsAlreadyMounted.Title
|
#: WarningMessage.IsAlreadyMounted.Title
|
||||||
msgid "Already active"
|
msgid "Already active"
|
||||||
msgstr ""
|
msgstr "Already active"
|
||||||
|
|
||||||
#: WarningMessage.IsAlreadyMounted.Text
|
#: WarningMessage.IsAlreadyMounted.Text
|
||||||
msgid "The volume is already active."
|
msgid "The volume is already active."
|
||||||
msgstr ""
|
msgstr "The volume is already active."
|
||||||
|
|
||||||
#: WarningMessage.IsNotMounted.Title
|
#: WarningMessage.IsNotMounted.Title
|
||||||
msgid "Inactive"
|
msgid "Inactive"
|
||||||
msgstr ""
|
msgstr "Inactive"
|
||||||
|
|
||||||
#: WarningMessage.IsNotMounted.Text
|
#: WarningMessage.IsNotMounted.Text
|
||||||
msgid "The volume is currently not active."
|
msgid "The volume is currently not active."
|
||||||
msgstr ""
|
msgstr "The volume is currently not active."
|
||||||
|
|
||||||
#: WarningMessage.InvalidContainerType.Link.Rel
|
#: WarningMessage.InvalidContainerType.Link.Rel
|
||||||
msgid "volume_format_fs"
|
msgid "volume_format_fs"
|
||||||
msgstr ""
|
msgstr "volume_format_fs"
|
||||||
|
|
|
@ -1,9 +1,29 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.web.testclass
|
import cryptobox.web.testclass
|
||||||
|
|
||||||
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
|
|
||||||
def test_read_form(self):
|
def test_read_form(self):
|
||||||
url = self.URL + "volume_mount?weblang=en&device=%2Fdev%2Floop1"
|
url = self.URL + "volume_mount?weblang=en&device=%2Fdev%2F" + self.device + "1"
|
||||||
self.register_auth(url)
|
self.register_auth(url)
|
||||||
self.cmd.go(url)
|
self.cmd.go(url)
|
||||||
self.cmd.find('ctivate volume')
|
self.cmd.find('ctivate volume')
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.plugins.base
|
import cryptobox.plugins.base
|
||||||
from cryptobox.core.exceptions import *
|
from cryptobox.core.exceptions import *
|
||||||
import cryptobox.core.container as cbxContainer
|
import cryptobox.core.container as cbxContainer
|
||||||
|
|
|
@ -4,24 +4,24 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
||||||
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
||||||
"POT-Creation-Date: 2006-11-28 05:04+0100\n"
|
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2006-11-29 19:31+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: Lars Kruse <devel@sumpfralle.de>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
"X-Generator: Pootle 0.10.1\n"
|
||||||
|
|
||||||
#: Name
|
#: Name
|
||||||
msgid "Volume properties"
|
msgid "Volume properties"
|
||||||
msgstr ""
|
msgstr "Volume properties"
|
||||||
|
|
||||||
#: Link
|
#: Link
|
||||||
msgid "Properties"
|
msgid "Properties"
|
||||||
msgstr ""
|
msgstr "Properties"
|
||||||
|
|
||||||
#: AdviceMessage.NoPropertyPlugins.Text
|
#: AdviceMessage.NoPropertyPlugins.Text
|
||||||
msgid "No volume property plugins are available."
|
msgid "No volume property plugins are available."
|
||||||
msgstr ""
|
msgstr "No volume property plugins are available."
|
||||||
|
|
|
@ -1,9 +1,29 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.web.testclass
|
import cryptobox.web.testclass
|
||||||
|
|
||||||
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
|
|
||||||
def test_read_form(self):
|
def test_read_form(self):
|
||||||
url = self.URL + "volume_props?weblang=en&device=%2Fdev%2Floop1"
|
url = self.URL + "volume_props?weblang=en&device=%2Fdev%2F" + self.device + "1"
|
||||||
self.register_auth(url)
|
self.register_auth(url)
|
||||||
self.cmd.go(url)
|
self.cmd.go(url)
|
||||||
self.cmd.find('Properties')
|
self.cmd.find('Properties')
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.plugins.base
|
import cryptobox.plugins.base
|
||||||
import cryptobox.plugins.manage
|
import cryptobox.plugins.manage
|
||||||
from cryptobox.core.exceptions import *
|
from cryptobox.core.exceptions import *
|
||||||
|
|
|
@ -4,92 +4,96 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
||||||
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
"Report-Msgid-Bugs-To: translate@cryptobox.org\n"
|
||||||
"POT-Creation-Date: 2006-11-28 05:04+0100\n"
|
"POT-Creation-Date: 2006-11-28 05:03+0100\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: 2006-11-29 19:31+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: Lars Kruse <devel@sumpfralle.de>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
"X-Generator: Pootle 0.10.1\n"
|
||||||
|
|
||||||
#: Name
|
#: Name
|
||||||
msgid "Rename volume"
|
msgid "Rename volume"
|
||||||
msgstr ""
|
msgstr "Rename volume"
|
||||||
|
|
||||||
#: Link
|
#: Link
|
||||||
msgid "Rename"
|
msgid "Rename"
|
||||||
msgstr ""
|
msgstr "Rename"
|
||||||
|
|
||||||
#: Title.ChangeVolumeName
|
#: Title.ChangeVolumeName
|
||||||
msgid "Change the name of this volume"
|
msgid "Change the name of this volume"
|
||||||
msgstr ""
|
msgstr "Change the name of this volume"
|
||||||
|
|
||||||
#: Button.ContainerNameSet
|
#: Button.ContainerNameSet
|
||||||
msgid "Change name"
|
msgid "Change name"
|
||||||
msgstr ""
|
msgstr "Change name"
|
||||||
|
|
||||||
#: AdviceMessage.NoRenameIfActive.Text
|
#: AdviceMessage.NoRenameIfActive.Text
|
||||||
msgid "You can not rename a volume while it is active."
|
msgid "You can not rename a volume while it is active."
|
||||||
msgstr ""
|
msgstr "You can not rename a volume while it is active."
|
||||||
|
|
||||||
#: AdviceMessage.NoRenameIfActive.Link.Text
|
#: AdviceMessage.NoRenameIfActive.Link.Text
|
||||||
msgid "Deactivate volume now"
|
msgid "Deactivate volume now"
|
||||||
msgstr ""
|
msgstr "Deactivate volume now"
|
||||||
|
|
||||||
#: AdviceMessage.NoRenameIfActive.Link.Attr1.name
|
#: AdviceMessage.NoRenameIfActive.Link.Attr1.name
|
||||||
msgid "action"
|
msgid "action"
|
||||||
msgstr ""
|
msgstr "action"
|
||||||
|
|
||||||
#: AdviceMessage.NoRenameIfActive.Link.Attr1.value
|
#: AdviceMessage.NoRenameIfActive.Link.Attr1.value
|
||||||
msgid "umount"
|
msgid "umount"
|
||||||
msgstr ""
|
msgstr "umount"
|
||||||
|
|
||||||
#: AdviceMessage.NoRenameIfActive.Link.Attr2.name
|
#: AdviceMessage.NoRenameIfActive.Link.Attr2.name
|
||||||
msgid "redirect"
|
msgid "redirect"
|
||||||
msgstr ""
|
msgstr "redirect"
|
||||||
|
|
||||||
#: AdviceMessage.NoRenameIfActive.Link.Attr2.value
|
#: AdviceMessage.NoRenameIfActive.Link.Attr2.value
|
||||||
msgid "volume_rename"
|
msgid "volume_rename"
|
||||||
msgstr ""
|
msgstr "volume_rename"
|
||||||
|
|
||||||
#: SuccessMessage.VolumeNameChanged.Title
|
#: SuccessMessage.VolumeNameChanged.Title
|
||||||
msgid "Name changed"
|
msgid "Name changed"
|
||||||
msgstr ""
|
msgstr "Name changed"
|
||||||
|
|
||||||
#: SuccessMessage.VolumeNameChanged.Text
|
#: SuccessMessage.VolumeNameChanged.Text
|
||||||
msgid "The name of this volume was changed successfully."
|
msgid "The name of this volume was changed successfully."
|
||||||
msgstr ""
|
msgstr "The name of this volume was changed successfully."
|
||||||
|
|
||||||
#: WarningMessage.NoRenameIfActive.Title
|
#: WarningMessage.NoRenameIfActive.Title
|
||||||
msgid "Failed to rename the volume"
|
msgid "Failed to rename the volume"
|
||||||
msgstr ""
|
msgstr "Failed to rename the volume"
|
||||||
|
|
||||||
#: WarningMessage.NoRenameIfActive.Text
|
#: WarningMessage.NoRenameIfActive.Text
|
||||||
msgid "You may not rename a volume while it is active."
|
msgid "You may not rename a volume while it is active."
|
||||||
msgstr ""
|
msgstr "You may not rename a volume while it is active."
|
||||||
|
|
||||||
#: WarningMessage.InvalidVolumeName.Title
|
#: WarningMessage.InvalidVolumeName.Title
|
||||||
msgid "Changing of container's name failed"
|
msgid "Changing of container's name failed"
|
||||||
msgstr ""
|
msgstr "Changing of container's name failed"
|
||||||
|
|
||||||
#: WarningMessage.InvalidVolumeName.Text
|
#: WarningMessage.InvalidVolumeName.Text
|
||||||
msgid "The supplied new name of the container was invalid. Please try again!"
|
msgid "The supplied new name of the container was invalid. Please try again!"
|
||||||
msgstr ""
|
msgstr "The supplied new name of the container was invalid. Please try again!"
|
||||||
|
|
||||||
#: WarningMessage.SetVolumeNameFailed.Text
|
#: WarningMessage.SetVolumeNameFailed.Text
|
||||||
msgid "Could not change the name of the container. Take a look at the log files for details."
|
msgid ""
|
||||||
|
"Could not change the name of the container. Take a look at the log files for "
|
||||||
|
"details."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Could not change the name of the container. Take a look at the log files for "
|
||||||
|
"details."
|
||||||
|
|
||||||
#: WarningMessage.VolumeNameIsInUse.Title
|
#: WarningMessage.VolumeNameIsInUse.Title
|
||||||
msgid "Could not change volume name"
|
msgid "Could not change volume name"
|
||||||
msgstr ""
|
msgstr "Could not change volume name"
|
||||||
|
|
||||||
#: WarningMessage.VolumeNameIsInUse.Text
|
#: WarningMessage.VolumeNameIsInUse.Text
|
||||||
msgid "The new name is already in use by another volume."
|
msgid "The new name is already in use by another volume."
|
||||||
msgstr ""
|
msgstr "The new name is already in use by another volume."
|
||||||
|
|
||||||
#: AdviceMessage.NoRenameIfActive.Link.Rel
|
#: AdviceMessage.NoRenameIfActive.Link.Rel
|
||||||
msgid "volume_mount"
|
msgid "volume_mount"
|
||||||
msgstr ""
|
msgstr "volume_mount"
|
||||||
|
|
|
@ -1,9 +1,29 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.web.testclass
|
import cryptobox.web.testclass
|
||||||
|
|
||||||
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
class unittests(cryptobox.web.testclass.WebInterfaceTestClass):
|
||||||
|
|
||||||
def test_read_form(self):
|
def test_read_form(self):
|
||||||
url = self.URL + "volume_rename?weblang=en&device=%2Fdev%2Floop1"
|
url = self.URL + "volume_rename?weblang=en&device=%2Fdev%2F" + self.device + "1"
|
||||||
self.register_auth(url)
|
self.register_auth(url)
|
||||||
self.cmd.go(url)
|
self.cmd.go(url)
|
||||||
self.cmd.find('name')
|
self.cmd.find('name')
|
||||||
|
|
|
@ -1,3 +1,23 @@
|
||||||
|
#
|
||||||
|
# Copyright 2006 sense.lab e.V.
|
||||||
|
#
|
||||||
|
# This file is part of the CryptoBox.
|
||||||
|
#
|
||||||
|
# The CryptoBox is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# The CryptoBox is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with the CryptoBox; if not, write to the Free Software
|
||||||
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
|
||||||
import cryptobox.plugins.base
|
import cryptobox.plugins.base
|
||||||
from cryptobox.core.exceptions import *
|
from cryptobox.core.exceptions import *
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue