[tor-commits] [translation/tor-messenger-otrproperties] Update translations for tor-messenger-otrproperties

2016-09-16 Thread translation
commit f077cf3d2bc23a70bf4f95a78db4b173fed26ca8
Author: Translation commit bot 
Date:   Fri Sep 16 20:48:06 2016 +

Update translations for tor-messenger-otrproperties
---
 ku_IQ/otr.properties | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ku_IQ/otr.properties b/ku_IQ/otr.properties
index 11b23be..0c5c864 100644
--- a/ku_IQ/otr.properties
+++ b/ku_IQ/otr.properties
@@ -21,11 +21,11 @@ error.enc=Error occurred encrypting message.
 error.not_priv=You sent encrypted data to %S, who wasn't expecting it.
 error.unreadable=You transmitted an unreadable encrypted message.
 error.malformed=You transmitted a malformed data message.
-resent=[resent]
+resent=[ناردنەوە]
 tlv.disconnected=%S has ended their private conversation with you; you should 
do the same.
 query.msg=%S has requested an Off-the Record private conversation. However, 
you do not have a plugin to support that. See http://otr.cypherpunks.ca/ for 
more information.
-trust.unused=Unused
+trust.unused=بەکارنەهێنراو
 trust.not_private=Not Private
 trust.unverified=Unverified
 trust.private=Private
-trust.finished=Finished
+trust.finished=تەواوبوو

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-prefsdtd] Update translations for tor-messenger-prefsdtd

2016-09-16 Thread translation
commit 586ac239d55890c0fb33c499499d2999d5858241
Author: Translation commit bot 
Date:   Fri Sep 16 20:48:17 2016 +

Update translations for tor-messenger-prefsdtd
---
 ku_IQ/prefs.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ku_IQ/prefs.dtd b/ku_IQ/prefs.dtd
index ef0155d..7117ee5 100644
--- a/ku_IQ/prefs.dtd
+++ b/ku_IQ/prefs.dtd
@@ -4,7 +4,7 @@
 
 
 
-
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-fingerdtd] Update translations for tor-messenger-fingerdtd

2016-09-16 Thread translation
commit b7be8b88d72013bd35bd0a120d9d45e727640b91
Author: Translation commit bot 
Date:   Fri Sep 16 20:47:50 2016 +

Update translations for tor-messenger-fingerdtd
---
 ku_IQ/finger.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ku_IQ/finger.dtd b/ku_IQ/finger.dtd
index 31b302d..e410db3 100644
--- a/ku_IQ/finger.dtd
+++ b/ku_IQ/finger.dtd
@@ -4,7 +4,7 @@
 
 
 
-
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/torbutton-branddtd] Update translations for torbutton-branddtd

2016-09-16 Thread translation
commit 4df512aeb584dc0040eadaf2a63fcdfede77ecec
Author: Translation commit bot 
Date:   Fri Sep 16 20:46:32 2016 +

Update translations for torbutton-branddtd
---
 ku_IQ/brand.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ku_IQ/brand.dtd b/ku_IQ/brand.dtd
index 05e9cbc..55051e3 100644
--- a/ku_IQ/brand.dtd
+++ b/ku_IQ/brand.dtd
@@ -11,5 +11,5 @@
 
 
 
-
+
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-misc] Update translations for tails-misc

2016-09-16 Thread translation
commit c85510595fc1352198342aec75072620543f987a
Author: Translation commit bot 
Date:   Fri Sep 16 20:46:15 2016 +

Update translations for tails-misc
---
 ku_IQ.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ku_IQ.po b/ku_IQ.po
index 857ce53..3879e42 100644
--- a/ku_IQ.po
+++ b/ku_IQ.po
@@ -10,7 +10,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-09-02 16:02+0200\n"
-"PO-Revision-Date: 2016-09-16 19:53+\n"
+"PO-Revision-Date: 2016-09-16 20:27+\n"
 "Last-Translator: Rasti K5 \n"
 "Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/abouttor-homepage] Update translations for abouttor-homepage

2016-09-16 Thread translation
commit 7fd1428eb19433ca44a95b93c37857d2b835afc1
Author: Translation commit bot 
Date:   Fri Sep 16 20:46:21 2016 +

Update translations for abouttor-homepage
---
 ku_IQ/aboutTor.dtd | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ku_IQ/aboutTor.dtd b/ku_IQ/aboutTor.dtd
index 6cc8bd2..d2e6f3e 100644
--- a/ku_IQ/aboutTor.dtd
+++ b/ku_IQ/aboutTor.dtd
@@ -4,7 +4,7 @@
- vim: set sw=2 sts=2 ts=8 et syntax=xml:
   -->
 
-
+
 
 
 
@@ -21,7 +21,7 @@
 
 
 
-
+
 
 https://startpage.com/rth/search;>
 https://duckduckgo.com/html/;>

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-greeter] Update translations for tails-greeter

2016-09-16 Thread translation
commit b0224632b5273e8ebbaef26de44b96dc19ae8dc9
Author: Translation commit bot 
Date:   Fri Sep 16 20:45:41 2016 +

Update translations for tails-greeter
---
 ku_IQ/ku_IQ.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ku_IQ/ku_IQ.po b/ku_IQ/ku_IQ.po
index 0362d41..4b64b0f 100644
--- a/ku_IQ/ku_IQ.po
+++ b/ku_IQ/ku_IQ.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-09-02 14:43+0200\n"
-"PO-Revision-Date: 2016-09-16 19:46+\n"
+"PO-Revision-Date: 2016-09-16 20:19+\n"
 "Last-Translator: Rasti K5 \n"
 "Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"
@@ -148,7 +148,7 @@ msgstr ""
 
 #: ../glade/langpanel.glade.h:2 ../tailsgreeter/langpanel.py:45
 msgid "Language"
-msgstr ""
+msgstr "زمان"
 
 #: ../glade/langpanel.glade.h:3
 msgid "Locale"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/mat-gui] Update translations for mat-gui

2016-09-16 Thread translation
commit 32d8af0429cd80f5457b2df2317a8efc6f71b627
Author: Translation commit bot 
Date:   Fri Sep 16 20:45:54 2016 +

Update translations for mat-gui
---
 ku_IQ.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ku_IQ.po b/ku_IQ.po
index 6f20fee..10c9e10 100644
--- a/ku_IQ.po
+++ b/ku_IQ.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-02-10 23:06+0100\n"
-"PO-Revision-Date: 2016-09-16 19:53+\n"
+"PO-Revision-Date: 2016-09-16 20:28+\n"
 "Last-Translator: Rasti K5 \n"
 "Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"
@@ -45,7 +45,7 @@ msgstr ""
 
 #: mat-gui:170 mat-gui:419
 msgid "Dirty"
-msgstr ""
+msgstr "پیس"
 
 #: mat-gui:176
 #, python-format

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/https_everywhere] Update translations for https_everywhere

2016-09-16 Thread translation
commit 042a009388d62da5bd7815003be54775c2fa5554
Author: Translation commit bot 
Date:   Fri Sep 16 20:45:23 2016 +

Update translations for https_everywhere
---
 ku_IQ/https-everywhere.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ku_IQ/https-everywhere.dtd b/ku_IQ/https-everywhere.dtd
index 50befd9..0593e5e 100644
--- a/ku_IQ/https-everywhere.dtd
+++ b/ku_IQ/https-everywhere.dtd
@@ -28,7 +28,7 @@
 
 
 
-
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/bridgedb] Update translations for bridgedb

2016-09-16 Thread translation
commit e2ea20716992a177143cf9f39b3071463ebf787c
Author: Translation commit bot 
Date:   Fri Sep 16 20:45:04 2016 +

Update translations for bridgedb
---
 ku_IQ/LC_MESSAGES/bridgedb.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ku_IQ/LC_MESSAGES/bridgedb.po b/ku_IQ/LC_MESSAGES/bridgedb.po
index 46eb187..94db9ed 100644
--- a/ku_IQ/LC_MESSAGES/bridgedb.po
+++ b/ku_IQ/LC_MESSAGES/bridgedb.po
@@ -11,7 +11,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: 
'https://trac.torproject.org/projects/tor/newticket?component=BridgeDB=bridgedb-reported,msgid=isis,sysrqb=isis'\n"
 "POT-Creation-Date: 2015-07-25 03:40+\n"
-"PO-Revision-Date: 2016-09-16 19:59+\n"
+"PO-Revision-Date: 2016-09-16 20:28+\n"
 "Last-Translator: Rasti K5 \n"
 "Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"
@@ -58,7 +58,7 @@ msgstr "دیاریکردنی هەمووی"
 
 #: bridgedb/https/templates/bridges.html:40
 msgid "Show QRCode"
-msgstr ""
+msgstr "پیشاندانی QRCode"
 
 #: bridgedb/https/templates/bridges.html:52
 msgid "QRCode for your bridge lines"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-misc] Update translations for tails-misc

2016-09-16 Thread translation
commit df00918030d8b3b673ab6c59d47a47785c0ac4c4
Author: Translation commit bot 
Date:   Fri Sep 16 20:16:19 2016 +

Update translations for tails-misc
---
 ku_IQ.po | 11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/ku_IQ.po b/ku_IQ.po
index 14eddde..857ce53 100644
--- a/ku_IQ.po
+++ b/ku_IQ.po
@@ -4,13 +4,14 @@
 # 
 # Translators:
 # Haval Abdulkarim , 2015
+# Rasti K5 , 2016
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-09-02 16:02+0200\n"
-"PO-Revision-Date: 2016-09-16 19:22+\n"
-"Last-Translator: carolyn \n"
+"PO-Revision-Date: 2016-09-16 19:53+\n"
+"Last-Translator: Rasti K5 \n"
 "Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -231,11 +232,11 @@ msgstr ""
 
 #: config/chroot_local-includes/usr/local/lib/tails-virt-notify-user:79
 msgid "Learn more"
-msgstr ""
+msgstr "زیاتر بزانە"
 
 #: config/chroot_local-includes/usr/local/bin/tor-browser:40
 msgid "Tor is not ready"
-msgstr ""
+msgstr "Tor ئامادە نییە"
 
 #: config/chroot_local-includes/usr/local/bin/tor-browser:41
 msgid "Tor is not ready. Start Tor Browser anyway?"
@@ -243,7 +244,7 @@ msgstr ""
 
 #: config/chroot_local-includes/usr/local/bin/tor-browser:42
 msgid "Start Tor Browser"
-msgstr ""
+msgstr "دەستپێکردنی وێبگەڕی Tor"
 
 #: config/chroot_local-includes/usr/local/bin/tor-browser:43
 msgid "Cancel"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-imtooltipproperties] Update translations for tor-messenger-imtooltipproperties

2016-09-16 Thread translation
commit 45eaffa1396c3d9dc4ffe38ffdf831cd80ac336a
Author: Translation commit bot 
Date:   Fri Sep 16 20:18:03 2016 +

Update translations for tor-messenger-imtooltipproperties
---
 ku_IQ/imtooltip.properties | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ku_IQ/imtooltip.properties b/ku_IQ/imtooltip.properties
index 95a8e63..776f03b 100644
--- a/ku_IQ/imtooltip.properties
+++ b/ku_IQ/imtooltip.properties
@@ -2,6 +2,6 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-buddy.username=Username
+buddy.username=ناوی بەکارهێنەر
 buddy.account=هەژمار
 contact.tags=Tags

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-ircproperties] Update translations for tor-messenger-ircproperties

2016-09-16 Thread translation
commit 6f1b4d8a188666ef8a67a3ca93acbad5faa9bc89
Author: Translation commit bot 
Date:   Fri Sep 16 20:18:09 2016 +

Update translations for tor-messenger-ircproperties
---
 ku_IQ/irc.properties | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/ku_IQ/irc.properties b/ku_IQ/irc.properties
index daa1237..bcfc56f 100644
--- a/ku_IQ/irc.properties
+++ b/ku_IQ/irc.properties
@@ -19,13 +19,13 @@ connection.error.passwordRequired=Password required
 
 # LOCALIZATION NOTE (joinChat.*):
 #   These show up on the join chat menu. An underscore is for the access key.
-joinChat.channel=_Channel
-joinChat.password=_Password
+joinChat.channel=_کەناڵ
+joinChat.password=_تێپەڕەوشە
 
 # LOCALIZATION NOTE (options.*):
 #   These are the protocol specific options shown in the account manager and
 #   account wizard windows.
-options.server=Server
+options.server=ڕاژەکار
 options.port=دەرچە
 options.ssl=Use SSL
 options.encoding=Character Set
@@ -110,7 +110,7 @@ message.quit=%1$S has left the room (Quit%2$S).
 message.quit2=: %S
 #%1$S is the nickname of the user that invited us, %2$S is the conversation
 #name.
-message.inviteReceived=%1$S has invited you to %2$S.
+message.inviteReceived=%1$S بانگهێشتی کردووی بۆ %2$S.
 #%1$S is the nickname of the invited user, %2$S is the conversation name
 #they were invited to.
 message.invited=%1$S was successfully invited to %2$S.
@@ -155,7 +155,7 @@ error.banned=You are banned from this server.
 error.bannedSoon=You will soon be banned from this server.
 error.mode.wrongUser=You cannot change modes for other users.
 #%S is the nickname or channel name that isn't available.
-error.noSuchNick=%S is not online.
+error.noSuchNick=%S لەسەرهێڵ نییە
 error.wasNoSuchNick=There was no nickname: %S
 error.noSuchChannel=There is no channel: %S.
 error.unavailable=%S is temporarily unavailable.
@@ -193,7 +193,7 @@ tooltip.secure=Using a secure connection
 tooltip.away=Away
 tooltip.ircOp=IRC Operator
 tooltip.bot=Bot
-tooltip.lastActivity=Last activity
+tooltip.lastActivity=دوا چالاکی
 # %S is the timespan elapsed since the last activity.
 tooltip.timespan=%S ago
 tooltip.channels=Currently on

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-conversationsproperties] Update translations for tor-messenger-conversationsproperties

2016-09-16 Thread translation
commit 2696d4e8cf12a4b9beaaad06067592ec5c2045cb
Author: Translation commit bot 
Date:   Fri Sep 16 20:17:46 2016 +

Update translations for tor-messenger-conversationsproperties
---
 ku_IQ/conversations.properties | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ku_IQ/conversations.properties b/ku_IQ/conversations.properties
index 1a5564a..1d34ca8 100644
--- a/ku_IQ/conversations.properties
+++ b/ku_IQ/conversations.properties
@@ -69,7 +69,7 @@ nickSet.you=You are now known as %S.
 
 # LOCALIZATION NOTE (messenger.conversations.selections.ellipsis):
 #  ellipsis is used when copying a part of a message to show that the message 
was cut
-messenger.conversations.selections.ellipsis=[…]
+messenger.conversations.selections.ellipsis=[...]
 
 # LOCALIZATION NOTE 
(messenger.conversations.selections.{system,content,action}MessagesTemplate):
 #  These 3 templates are used to format selected messages before copying them.

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-facebookproperties] Update translations for tor-messenger-facebookproperties

2016-09-16 Thread translation
commit 0498baef7b9e8cdb8a6829e72ccdaf02c34fab02
Author: Translation commit bot 
Date:   Fri Sep 16 20:17:52 2016 +

Update translations for tor-messenger-facebookproperties
---
 ku_IQ/facebook.properties | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ku_IQ/facebook.properties b/ku_IQ/facebook.properties
index aaf7cdc..c9db539 100644
--- a/ku_IQ/facebook.properties
+++ b/ku_IQ/facebook.properties
@@ -4,4 +4,4 @@
 
 connection.error.useUsernameNotEmailAddress=Please use your Facebook username, 
not an email address
 
-facebook.chat.name=Facebook Chat
+facebook.chat.name=پەیڤینی فەیسبووک

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-accountsproperties] Update translations for tor-messenger-accountsproperties

2016-09-16 Thread translation
commit e47c7bd89f733746039c9bcad61de9c5fcaa3783
Author: Translation commit bot 
Date:   Fri Sep 16 20:17:20 2016 +

Update translations for tor-messenger-accountsproperties
---
 ku_IQ/accounts.properties | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ku_IQ/accounts.properties b/ku_IQ/accounts.properties
index 051ba0d..8c372ca 100644
--- a/ku_IQ/accounts.properties
+++ b/ku_IQ/accounts.properties
@@ -4,6 +4,6 @@
 
 # LOCALIZATION NOTE (passwordPromptTitle, passwordPromptText):
 # %S is replaced with the name of the account
-passwordPromptTitle=Password for %S
+passwordPromptTitle=تێپەڕەوشە بۆ %
 passwordPromptText=Please enter your password for %S in order to connect it.
-passwordPromptSaveCheckbox=Use Password Manager to remember this password.
+passwordPromptSaveCheckbox=بەڕێوەبەری تێپەڕەوشە 
بەکاربهێنە بۆ وەبیرهاتنەوەی ئەم 
تێپەڕەوشەیە.

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-commandsproperties] Update translations for tor-messenger-commandsproperties

2016-09-16 Thread translation
commit b0908e4a7b3a41d94bd0e83f042f3b60cdeb054a
Author: Translation commit bot 
Date:   Fri Sep 16 20:17:35 2016 +

Update translations for tor-messenger-commandsproperties
---
 ku_IQ/commands.properties | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/ku_IQ/commands.properties b/ku_IQ/commands.properties
index d4e3a91..72f2920 100644
--- a/ku_IQ/commands.properties
+++ b/ku_IQ/commands.properties
@@ -20,8 +20,8 @@ helpHelpString=help name: show the help message for 
the name com
 #  %2$S is replaced with the localized version of that status type
 #   (one of the 5 strings below).
 statusCommand=%1$S status message: set the status to %2$S with an 
optional status message.
-back=available
+back=بەردەست
 away=away
-busy=unavailable
-dnd=unavailable
-offline=offline
+busy=بەردەست نییە
+dnd=بەردەست نییە
+offline=دەرهێڵ

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/torbutton-branddtd] Update translations for torbutton-branddtd

2016-09-16 Thread translation
commit 08322a287fc5dcd541c40fc85eb7aba58d0757a9
Author: Translation commit bot 
Date:   Fri Sep 16 20:16:37 2016 +

Update translations for torbutton-branddtd
---
 ku_IQ/brand.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ku_IQ/brand.dtd b/ku_IQ/brand.dtd
index 7045aca..05e9cbc 100644
--- a/ku_IQ/brand.dtd
+++ b/ku_IQ/brand.dtd
@@ -5,7 +5,7 @@
 
 
 
-
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/abouttor-homepage] Update translations for abouttor-homepage

2016-09-16 Thread translation
commit eae389fdebfef3ead2ae2c7654443bbe45423d5a
Author: Translation commit bot 
Date:   Fri Sep 16 20:16:25 2016 +

Update translations for abouttor-homepage
---
 ku_IQ/aboutTor.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ku_IQ/aboutTor.dtd b/ku_IQ/aboutTor.dtd
index 008dff8..6cc8bd2 100644
--- a/ku_IQ/aboutTor.dtd
+++ b/ku_IQ/aboutTor.dtd
@@ -45,5 +45,5 @@
 https://www.torproject.org/donate/donate.html.en;>
 
 
-
+
 https://www.torproject.org/about/overview.html.en;>

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/torbutton-brandproperties] Update translations for torbutton-brandproperties

2016-09-16 Thread translation
commit b2df2f50820341d44f2c355bc77e341a97730274
Author: Translation commit bot 
Date:   Fri Sep 16 20:16:31 2016 +

Update translations for torbutton-brandproperties
---
 ku_IQ/brand.properties | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ku_IQ/brand.properties b/ku_IQ/brand.properties
index 3a50a18..bb737ac 100644
--- a/ku_IQ/brand.properties
+++ b/ku_IQ/brand.properties
@@ -5,7 +5,7 @@
 brandShorterName=وێبگەڕی Tor
 brandShortName=وێبگەڕی Tor
 brandFullName=وێبگەڕی Tor
-vendorShortName=Tor Project
+vendorShortName=پڕۆژەی Tor
 
 homePageSingleStartMain=Firefox Start, a fast home page with built-in search
 homePageImport=Import your home page from %S
@@ -13,4 +13,4 @@ homePageImport=Import your home page from %S
 homePageMigrationPageTitle=Home Page Selection
 homePageMigrationDescription=Please select the home page you wish to use:
 
-syncBrandShortName=Sync
+syncBrandShortName=هاودەمی

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/torbutton-torbuttondtd] Update translations for torbutton-torbuttondtd

2016-09-16 Thread translation
commit ba2e5d0056d4c89b43463177bf07e4e0ce5ae6ac
Author: Translation commit bot 
Date:   Fri Sep 16 20:16:46 2016 +

Update translations for torbutton-torbuttondtd
---
 ku_IQ/torbutton.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ku_IQ/torbutton.dtd b/ku_IQ/torbutton.dtd
index a2d8661..50ebcdb 100644
--- a/ku_IQ/torbutton.dtd
+++ b/ku_IQ/torbutton.dtd
@@ -54,7 +54,7 @@
 
 
 
-
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/torbutton-torbuttonproperties] Update translations for torbutton-torbuttonproperties

2016-09-16 Thread translation
commit 2e8c6ef749a9cf15b7efc006b1d6295df0178cc3
Author: Translation commit bot 
Date:   Fri Sep 16 20:16:43 2016 +

Update translations for torbutton-torbuttonproperties
---
 ku_IQ/torbutton.properties | 24 
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/ku_IQ/torbutton.properties b/ku_IQ/torbutton.properties
index 1a9e2c3..dcd0ce1 100644
--- a/ku_IQ/torbutton.properties
+++ b/ku_IQ/torbutton.properties
@@ -1,21 +1,21 @@
-torbutton.circuit_display.internet = Internet
+torbutton.circuit_display.internet = ئینتەرنێت
 torbutton.circuit_display.ip_unknown = IP unknown
-torbutton.circuit_display.onion_site = Onion site
-torbutton.circuit_display.this_browser = This browser
+torbutton.circuit_display.onion_site = ماڵپەڕی Onion
+torbutton.circuit_display.this_browser = ئەم وێبگەڕە
 torbutton.circuit_display.relay = relay
 torbutton.circuit_display.tor_bridge = Bridge
-torbutton.circuit_display.unknown_country = Unknown country
+torbutton.circuit_display.unknown_country = وڵاتی نەزانراو
 torbutton.content_sizer.margin_tooltip = Tor Browser adds this margin to make 
the width and height of your window less distinctive, and thus reduces the 
ability of people to track you online.
-torbutton.panel.tooltip.disabled = Click to enable Tor
-torbutton.panel.tooltip.enabled = Click to disable Tor
-torbutton.panel.label.disabled = Tor Disabled
-torbutton.panel.label.enabled = Tor Enabled
+torbutton.panel.tooltip.disabled = کرتە بکە بۆ بەکارخستنی 
Tor
+torbutton.panel.tooltip.enabled = کرتە بکە بۆ لەکارخستنی Tor
+torbutton.panel.label.disabled = Tor لەکارخراوە
+torbutton.panel.label.enabled = Tor بەکارخراوە
 extensions.torbut...@torproject.org.description = Torbutton provides a button 
to configure Tor settings and quickly and easily clear private browsing data.
 torbutton.popup.external.title = Download an external file type?
 torbutton.popup.external.app = Tor Browser cannot display this file. You will 
need to open it with another application.\n\n
 torbutton.popup.external.note = Some types of files can cause applications to 
connect to the Internet without using Tor.\n\n
 torbutton.popup.external.suggest = To be safe, you should only open downloaded 
files while offline, or use a Tor Live CD such as Tails.\n
-torbutton.popup.launch = Download file
+torbutton.popup.launch = داگرتنی پەڕگە
 torbutton.popup.cancel = پاشگەزبوونەوە
 torbutton.popup.dontask = Automatically download files from now on
 torbutton.popup.prompted_language = To give you more privacy, Torbutton can 
request the English language version of web pages. This may cause web pages 
that you prefer to read in your native language to display in English 
instead.\n\nWould you like to request English language web pages for better 
privacy?
@@ -29,17 +29,17 @@ torbutton.popup.never_ask_again = Never ask me again
 torbutton.popup.confirm_newnym = Tor Browser will close all windows and tabs. 
All website sessions will be lost.\n\nRestart Tor Browser now to reset your 
identity?\n\n
 
 torbutton.slider_notification = The green onion menu now has a security slider 
which lets you adjust your security level. Check it out!
-torbutton.slider_notification_button = Open security settings
+torbutton.slider_notification_button = کردنەوەی 
ڕێکخستنەکانی پاراستن
 
 torbutton.maximize_warning = Maximizing Tor Browser can allow websites to 
determine your monitor size, which can be used to track you. We recommend that 
you leave Tor Browser windows in their original default size.
 
 # Canvas permission prompt. Strings are kept here for ease of translation.
 canvas.siteprompt=This website (%S) attempted to extract HTML5 canvas image 
data, which may be used to uniquely identify your computer.\n\nShould Tor 
Browser allow this website to extract HTML5 canvas image data?
-canvas.notNow=Not Now
+canvas.notNow=ئێستا نا
 canvas.notNowAccessKey=N
 canvas.allow=Allow in the future
 canvas.allowAccessKey=A
-canvas.never=Never for this site (recommended)
+canvas.never=هەرگیز بۆ ئەم ماڵپەڕە (پێشنیارکراو)
 canvas.neverAccessKey=e
 
 # Profile/startup error messages. Strings are kept here for ease of 
translation.

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/torbirdy] Update translations for torbirdy

2016-09-16 Thread translation
commit cb34fe6cd71312065ed89687548710343d4fb34c
Author: Translation commit bot 
Date:   Fri Sep 16 20:15:50 2016 +

Update translations for torbirdy
---
 ku_IQ/torbirdy.dtd | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ku_IQ/torbirdy.dtd b/ku_IQ/torbirdy.dtd
index c9f270f..a2066ac 100644
--- a/ku_IQ/torbirdy.dtd
+++ b/ku_IQ/torbirdy.dtd
@@ -46,13 +46,13 @@
 
 
 
-
+
 
 
 
 
 
-
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-launcher-properties] Update translations for tor-launcher-properties

2016-09-16 Thread translation
commit 980b2d6b0fe887186b902a5f5fb610c1ca5c8130
Author: Translation commit bot 
Date:   Fri Sep 16 20:16:03 2016 +

Update translations for tor-launcher-properties
---
 ku_IQ/torlauncher.properties | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ku_IQ/torlauncher.properties b/ku_IQ/torlauncher.properties
index 626f705..ea34af8 100644
--- a/ku_IQ/torlauncher.properties
+++ b/ku_IQ/torlauncher.properties
@@ -28,7 +28,7 @@ torlauncher.error_bridges_missing=You must specify one or 
more bridges.
 torlauncher.error_default_bridges_type_missing=You must select a transport 
type for the provided bridges.
 torlauncher.error_bridge_bad_default_type=No provided bridges that have the 
transport type %S are available. Please adjust your settings.
 
-torlauncher.recommended_bridge=(recommended)
+torlauncher.recommended_bridge=(پێشنیارکراو)
 
 torlauncher.connect=Connect
 torlauncher.restart_tor=دووبار دەستپێکردنەوەی Tor

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/mat-gui] Update translations for mat-gui

2016-09-16 Thread translation
commit f1ba80d540b30c0d83ffc34f7ff25839565d927d
Author: Translation commit bot 
Date:   Fri Sep 16 20:15:57 2016 +

Update translations for mat-gui
---
 ku_IQ.po | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/ku_IQ.po b/ku_IQ.po
index fd491e3..6f20fee 100644
--- a/ku_IQ.po
+++ b/ku_IQ.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-02-10 23:06+0100\n"
-"PO-Revision-Date: 2016-09-16 19:41+\n"
+"PO-Revision-Date: 2016-09-16 19:53+\n"
 "Last-Translator: Rasti K5 \n"
 "Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"
@@ -165,15 +165,15 @@ msgstr "ناو"
 
 #: data/mat.glade:368
 msgid "Content"
-msgstr ""
+msgstr "ناوەڕۆک"
 
 #: data/mat.glade:398
 msgid "Supported formats"
-msgstr ""
+msgstr "فۆڕماتە پاڵپشتیکراوەکان"
 
 #: data/mat.glade:456
 msgid "Support"
-msgstr ""
+msgstr "پاڵپشتیکردن"
 
 #: data/mat.glade:478
 msgid "Method"
@@ -185,4 +185,4 @@ msgstr ""
 
 #: data/mat.glade:518
 msgid "Fileformat"
-msgstr ""
+msgstr "فۆڕماتی پەڕگە"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/https_everywhere] Update translations for https_everywhere

2016-09-16 Thread translation
commit f8c0a253f357ddfc3acb76a6f5679cd53762a5ba
Author: Translation commit bot 
Date:   Fri Sep 16 20:15:23 2016 +

Update translations for https_everywhere
---
 ku_IQ/https-everywhere.dtd| 10 +-
 ku_IQ/https-everywhere.properties | 14 +++---
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/ku_IQ/https-everywhere.dtd b/ku_IQ/https-everywhere.dtd
index 15e1251..50befd9 100644
--- a/ku_IQ/https-everywhere.dtd
+++ b/ku_IQ/https-everywhere.dtd
@@ -34,10 +34,10 @@
 
 
 
-
+
 
-
-
+
+
 
 
 
@@ -45,8 +45,8 @@
 
 
 
-
-
+
+
 
 
 
diff --git a/ku_IQ/https-everywhere.properties 
b/ku_IQ/https-everywhere.properties
index 3f4b2a2..7f2649e 100644
--- a/ku_IQ/https-everywhere.properties
+++ b/ku_IQ/https-everywhere.properties
@@ -1,8 +1,8 @@
-https-everywhere.menu.globalEnable = بەگەڕخستنی ئێچ تی تی 
پی ئێس لە هەمووشوێنێک
-https-everywhere.menu.globalDisable = لەکارخستنی ئێچ تی تی 
پی ئێس لە هەمووشوێنێک
-https-everywhere.menu.enableDisable = بەگەڕخستن/لەکارخستن 
یاساکان
+https-everywhere.menu.globalEnable = بەگەڕخستنی ئێچ تی تی 
پی ئێس لە هەموو شوێنێک
+https-everywhere.menu.globalDisable = لەکارخستنی ئێچ تی تی 
پی ئێس لە هەموو شوێنێک
+https-everywhere.menu.enableDisable = بەگەڕخستن/لەکارخستنی 
یاساکان
 https-everywhere.menu.noRules = (هیچ یاسایەک نیە بۆ ئەم 
پەیجە)
-https-everywhere.menu.unknownRules = (یاساکانی ئەم پەیجە 
نەزانراون)
-https-everywhere.toolbar.hint = ئێچ تی تی پی ئێس لە هەم
ووشوێنێک ئێستا لە کاردایە. ئەتوانی بیگۆڕیت 
لەسەر بنەمای ماڵپەڕ-بە-ماڵپەڕ بە کلیککردن 
لەسەر ئایکۆنی ڕەفەی ناونیشان
-https-everywhere.migration.notification0 = بۆ ئەوەی 
چاکردنەوەی گرنگ ئەنجام بدەیت، ئەم 
تازەکردنەوەیە یاسای ئێچ تی تی پی ئێس لە هەم
ووشووێنێک ئەگەڕێنێتەوە بۆ نرخە 
سەرەتایەکان. 
-https-everywhere.menu.ruleset-tests =  یاساکانی ئێچ تی تی پی 
ئێس لە هەمووشوێنێک تاقیبکەرەوە.
+https-everywhere.menu.unknownRules = (یاساکانی ئەم پەڕەیە 
نەزانراون)
+https-everywhere.toolbar.hint = ئێستا ئێچ تی تی پی ئێس لە 
هەموو شوێنێک ئێستا لە کاردایە. دەتوانی 
بیگۆڕیت لەسەر بنەمای ماڵپەڕ-بە-ماڵپەڕ بە 
کرتەکردن لەسەر وێنۆچکەی ناونیشانەتوول.
+https-everywhere.migration.notification0 = بۆ ئەوەی 
چاکردنەوەی گرنگ ئەنجام بدەیت، ئەم 
بەڕۆژکردنە یاسای ئێچ تی تی پی ئێس لە هەموو 
شووێنێک دەگەڕێنێتەوە بۆ نرخە سەرەتاییەکان. 
+https-everywhere.menu.ruleset-tests =  یاساکانی ئێچ تی تی پی 
ئێس لە هەموو شوێنێک تاقیبکەوە.

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/whisperback] Update translations for whisperback

2016-09-16 Thread translation
commit 6935ab48b38ae8d1931d9237c91d3b4fe6e7d7c6
Author: Translation commit bot 
Date:   Fri Sep 16 20:15:16 2016 +

Update translations for whisperback
---
 ku_IQ/ku_IQ.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ku_IQ/ku_IQ.po b/ku_IQ/ku_IQ.po
index f0a9954..0e2d8ff 100644
--- a/ku_IQ/ku_IQ.po
+++ b/ku_IQ/ku_IQ.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2015-12-16 19:54+0100\n"
-"PO-Revision-Date: 2016-09-16 19:38+\n"
+"PO-Revision-Date: 2016-09-16 19:50+\n"
 "Last-Translator: Rasti K5 \n"
 "Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"
@@ -196,4 +196,4 @@ msgstr "یارمەتی"
 
 #: ../data/whisperback.ui.h:30
 msgid "Send"
-msgstr ""
+msgstr "ناردن"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/bridgedb] Update translations for bridgedb

2016-09-16 Thread translation
commit e667ce75445a5a3e8edad5c7fd31bae44b236354
Author: Translation commit bot 
Date:   Fri Sep 16 20:15:03 2016 +

Update translations for bridgedb
---
 ku_IQ/LC_MESSAGES/bridgedb.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ku_IQ/LC_MESSAGES/bridgedb.po b/ku_IQ/LC_MESSAGES/bridgedb.po
index e77bbfc..46eb187 100644
--- a/ku_IQ/LC_MESSAGES/bridgedb.po
+++ b/ku_IQ/LC_MESSAGES/bridgedb.po
@@ -11,7 +11,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: 
'https://trac.torproject.org/projects/tor/newticket?component=BridgeDB=bridgedb-reported,msgid=isis,sysrqb=isis'\n"
 "POT-Creation-Date: 2015-07-25 03:40+\n"
-"PO-Revision-Date: 2016-09-16 19:44+\n"
+"PO-Revision-Date: 2016-09-16 19:59+\n"
 "Last-Translator: Rasti K5 \n"
 "Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"
@@ -358,7 +358,7 @@ msgstr ""
 
 #: bridgedb/strings.py:167
 msgid "Displays this message."
-msgstr ""
+msgstr "پیشاندانی ئەم پەیامە."
 
 #. TRANSLATORS: Please try to make it clear that "vanilla" here refers to the
 #. same non-Pluggable Transport bridges described above as being

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-greeter] Update translations for tails-greeter

2016-09-16 Thread translation
commit 45b1fcd0a6a2b6fb7feafa2afc1338364f3b4f1f
Author: Translation commit bot 
Date:   Fri Sep 16 20:15:44 2016 +

Update translations for tails-greeter
---
 ku_IQ/ku_IQ.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ku_IQ/ku_IQ.po b/ku_IQ/ku_IQ.po
index aa7a7db..0362d41 100644
--- a/ku_IQ/ku_IQ.po
+++ b/ku_IQ/ku_IQ.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-09-02 14:43+0200\n"
-"PO-Revision-Date: 2016-09-16 19:30+\n"
+"PO-Revision-Date: 2016-09-16 19:46+\n"
 "Last-Translator: Rasti K5 \n"
 "Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"
@@ -184,4 +184,4 @@ msgstr ""
 #: ../tailsgreeter/langpanel.py:142 ../tailsgreeter/langpanel.py:169
 #: ../tailsgreeter/langpanel.py:202
 msgid "Other..."
-msgstr ""
+msgstr "هی تر..."

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/liveusb-creator] Update translations for liveusb-creator

2016-09-16 Thread translation
commit 0502716053bca86156366d3979ec7af120aee96e
Author: Translation commit bot 
Date:   Fri Sep 16 20:15:32 2016 +

Update translations for liveusb-creator
---
 ku_IQ/ku_IQ.po | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ku_IQ/ku_IQ.po b/ku_IQ/ku_IQ.po
index 2023e32..d651ea3 100644
--- a/ku_IQ/ku_IQ.po
+++ b/ku_IQ/ku_IQ.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2015-11-02 21:23+0100\n"
-"PO-Revision-Date: 2016-09-16 19:35+\n"
+"PO-Revision-Date: 2016-09-16 19:56+\n"
 "Last-Translator: Rasti K5 \n"
 "Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"
@@ -215,7 +215,7 @@ msgstr ""
 
 #: ../liveusb/gui.py:645
 msgid "Installation complete!"
-msgstr ""
+msgstr "دامەزراندن تەواو بوو!"
 
 #: ../liveusb/gui.py:265
 #, python-format
@@ -261,7 +261,7 @@ msgstr ""
 #: ../liveusb/gui.py:588
 #, python-format
 msgid "No free space on device %(device)s"
-msgstr ""
+msgstr "هیچ شوێنێکی بەتاڵ نەماوەتەوە لەسەر ئام
ێری %(device)s"
 
 #: ../liveusb/creator.py:826
 msgid "No mount points found"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-openpgp-applet] Update translations for tails-openpgp-applet

2016-09-16 Thread translation
commit fd9feb6dcb9981d32fdd93ca56658684e372d513
Author: Translation commit bot 
Date:   Fri Sep 16 19:48:44 2016 +

Update translations for tails-openpgp-applet
---
 ku_IQ/openpgp-applet.pot | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/ku_IQ/openpgp-applet.pot b/ku_IQ/openpgp-applet.pot
index 87d9d12..1ac01eb 100644
--- a/ku_IQ/openpgp-applet.pot
+++ b/ku_IQ/openpgp-applet.pot
@@ -3,13 +3,14 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
+# Rasti K5 , 2016
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: ta...@boum.org\n"
 "POT-Creation-Date: 2015-08-10 15:55+0200\n"
-"PO-Revision-Date: 2015-11-23 02:23+\n"
-"Last-Translator: FULL NAME \n"
+"PO-Revision-Date: 2016-09-16 19:46+\n"
+"Last-Translator: Rasti K5 \n"
 "Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -51,7 +52,7 @@ msgstr ""
 
 #: bin/openpgp-applet:251
 msgid "_Open Text Editor"
-msgstr ""
+msgstr "_کردنەوەی دەستکاریکەری دەق"
 
 #: bin/openpgp-applet:295
 msgid "The clipboard does not contain valid input data."
@@ -149,7 +150,7 @@ msgstr ""
 
 #: bin/openpgp-applet:664
 msgid "No keys available"
-msgstr ""
+msgstr "هیچ کلیلێک بەردەست نییە"
 
 #: bin/openpgp-applet:666
 msgid ""

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-onioncircuits] Update translations for tails-onioncircuits

2016-09-16 Thread translation
commit 355c3f135730f9bed050be078f386139723c6bbd
Author: Translation commit bot 
Date:   Fri Sep 16 19:48:54 2016 +

Update translations for tails-onioncircuits
---
 ku_IQ/onioncircuits.pot | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/ku_IQ/onioncircuits.pot b/ku_IQ/onioncircuits.pot
index e4ebf04..aab4a03 100644
--- a/ku_IQ/onioncircuits.pot
+++ b/ku_IQ/onioncircuits.pot
@@ -3,13 +3,14 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
+# Rasti K5 , 2016
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-05-31 14:42+0200\n"
-"PO-Revision-Date: 2016-06-01 09:23+\n"
-"Last-Translator: carolyn \n"
+"PO-Revision-Date: 2016-09-16 19:31+\n"
+"Last-Translator: Rasti K5 \n"
 "Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -43,7 +44,7 @@ msgstr ""
 
 #: ../onioncircuits:317
 msgid "..."
-msgstr ""
+msgstr "..."
 
 #: ../onioncircuits:343
 #, c-format
@@ -66,7 +67,7 @@ msgstr ""
 
 #: ../onioncircuits:592 ../onioncircuits:593 ../onioncircuits:594
 msgid "Unknown"
-msgstr ""
+msgstr "نەناسراو"
 
 #: ../onioncircuits:607
 msgid "Fingerprint:"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-privdtd] Update translations for tor-messenger-privdtd

2016-09-16 Thread translation
commit 96e2da488ce582295eab1db9337acf6024f8809b
Author: Translation commit bot 
Date:   Fri Sep 16 19:48:33 2016 +

Update translations for tor-messenger-privdtd
---
 ku_IQ/priv.dtd | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/ku_IQ/priv.dtd b/ku_IQ/priv.dtd
new file mode 100644
index 000..7007979
--- /dev/null
+++ b/ku_IQ/priv.dtd
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-prefsdtd] Update translations for tor-messenger-prefsdtd

2016-09-16 Thread translation
commit f6e7ebaabc0e3d9a47307d80c845973a66ffd423
Author: Translation commit bot 
Date:   Fri Sep 16 19:48:27 2016 +

Update translations for tor-messenger-prefsdtd
---
 ku_IQ/prefs.dtd | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ku_IQ/prefs.dtd b/ku_IQ/prefs.dtd
index a875141..ef0155d 100644
--- a/ku_IQ/prefs.dtd
+++ b/ku_IQ/prefs.dtd
@@ -8,14 +8,14 @@
 
 
 
-
+
 
 
 
 
 
-
-
+
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-fingerdtd] Update translations for tor-messenger-fingerdtd

2016-09-16 Thread translation
commit 653b5c2a0fe7d2bc9dea04d58265cd93cbf3f8c0
Author: Translation commit bot 
Date:   Fri Sep 16 19:48:00 2016 +

Update translations for tor-messenger-fingerdtd
---
 ku_IQ/finger.dtd | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/ku_IQ/finger.dtd b/ku_IQ/finger.dtd
index c74f003..31b302d 100644
--- a/ku_IQ/finger.dtd
+++ b/ku_IQ/finger.dtd
@@ -2,14 +2,14 @@
 
 
 
-
-
+
+
 
 
 
 
-
-
+
+
 
-
+
 
\ No newline at end of file

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-imtooltipproperties] Update translations for tor-messenger-imtooltipproperties

2016-09-16 Thread translation
commit da2f572966075f591378deaa86a7ecd893b59eed
Author: Translation commit bot 
Date:   Fri Sep 16 19:48:05 2016 +

Update translations for tor-messenger-imtooltipproperties
---
 ku_IQ/imtooltip.properties | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ku_IQ/imtooltip.properties b/ku_IQ/imtooltip.properties
index 0dd51fe..95a8e63 100644
--- a/ku_IQ/imtooltip.properties
+++ b/ku_IQ/imtooltip.properties
@@ -3,5 +3,5 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 buddy.username=Username
-buddy.account=Account
+buddy.account=هەژمار
 contact.tags=Tags

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-ircproperties] Update translations for tor-messenger-ircproperties

2016-09-16 Thread translation
commit 2807f736a37db67478592356eb9328cbf4af0b22
Author: Translation commit bot 
Date:   Fri Sep 16 19:48:11 2016 +

Update translations for tor-messenger-ircproperties
---
 ku_IQ/irc.properties | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ku_IQ/irc.properties b/ku_IQ/irc.properties
index eee7b49..daa1237 100644
--- a/ku_IQ/irc.properties
+++ b/ku_IQ/irc.properties
@@ -26,7 +26,7 @@ joinChat.password=_Password
 #   These are the protocol specific options shown in the account manager and
 #   account wizard windows.
 options.server=Server
-options.port=Port
+options.port=دەرچە
 options.ssl=Use SSL
 options.encoding=Character Set
 options.quitMessage=Quit message

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/torbutton-aboutdialogdtd] Update translations for torbutton-aboutdialogdtd

2016-09-16 Thread translation
commit 79e35a280d782d44d60865701613d34a7e9ad3da
Author: Translation commit bot 
Date:   Fri Sep 16 19:47:13 2016 +

Update translations for torbutton-aboutdialogdtd
---
 ku_IQ/aboutdialog.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ku_IQ/aboutdialog.dtd b/ku_IQ/aboutdialog.dtd
index 5099ad7..4eb8472 100644
--- a/ku_IQ/aboutdialog.dtd
+++ b/ku_IQ/aboutdialog.dtd
@@ -6,7 +6,7 @@
 
 
 
-
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-authdtd] Update translations for tor-messenger-authdtd

2016-09-16 Thread translation
commit 52c65d1965016b0e1b334606df4760902dfc187b
Author: Translation commit bot 
Date:   Fri Sep 16 19:47:29 2016 +

Update translations for tor-messenger-authdtd
---
 ku_IQ/auth.dtd | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ku_IQ/auth.dtd b/ku_IQ/auth.dtd
index 483f0b3..db300c4 100644
--- a/ku_IQ/auth.dtd
+++ b/ku_IQ/auth.dtd
@@ -8,14 +8,14 @@
 
 
 
-
+
 
 
-
+
 
 
 
-
+
 
 
 
\ No newline at end of file

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-and-https] Update translations for tor-and-https

2016-09-16 Thread translation
commit 277455d12996d3f9e2aef272b3818731cc64d969
Author: Translation commit bot 
Date:   Fri Sep 16 19:47:02 2016 +

Update translations for tor-and-https
---
 ku_IQ.po | 19 ++-
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/ku_IQ.po b/ku_IQ.po
index 657e535..ee6d623 100644
--- a/ku_IQ.po
+++ b/ku_IQ.po
@@ -1,12 +1,13 @@
 # 
 # Translators:
+# Rasti K5 , 2016
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "POT-Creation-Date: 2014-07-17 14:23+\n"
-"PO-Revision-Date: 2014-05-21 08:40+\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/projects/p/torproject/language/ku_IQ/)\n"
+"PO-Revision-Date: 2016-09-16 19:31+\n"
+"Last-Translator: Rasti K5 \n"
+"Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -53,14 +54,14 @@ msgstr ""
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "location"
-msgstr ""
+msgstr "شوێن"
 
 #. (itstool) path: defs/text
 #. Keep it short: 3em max.
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "WiFi"
-msgstr ""
+msgstr "وای فای"
 
 #. (itstool) path: defs/text
 #. Keep it short: 4em max.
@@ -74,7 +75,7 @@ msgstr ""
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Hacker"
-msgstr ""
+msgstr "هاکەر"
 
 #. (itstool) path: defs/text
 #. Keep it short: 8em is ok, 9em is max.
@@ -88,14 +89,14 @@ msgstr ""
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Sysadmin"
-msgstr ""
+msgstr "بەڕێوەبەری سیستەم"
 
 #. (itstool) path: defs/text
 #. Keep it short: 8em is ok, 9em is max.
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Police"
-msgstr ""
+msgstr "پۆلیس"
 
 #. (itstool) path: defs/text
 #: C/tor-and-https.svg:363
@@ -114,7 +115,7 @@ msgstr ""
 #: C/tor-and-https.svg:363
 #, no-wrap
 msgid "Key"
-msgstr ""
+msgstr "کلیل"
 
 #. (itstool) path: defs/text
 #: C/tor-and-https.svg:363

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor_animation] Update translations for tor_animation

2016-09-16 Thread translation
commit f0dba329c1e1c4f17d1af17e7ecbf348ad4dc604
Author: Translation commit bot 
Date:   Fri Sep 16 19:47:08 2016 +

Update translations for tor_animation
---
 ku_IQ.srt | 56 
 1 file changed, 28 insertions(+), 28 deletions(-)

diff --git a/ku_IQ.srt b/ku_IQ.srt
index 78c998d..a4e17b3 100644
--- a/ku_IQ.srt
+++ b/ku_IQ.srt
@@ -40,126 +40,126 @@ and so much more information
 about you and your life
 
 10
-00:00:29,620 --> 00:00:32,460
+00:00:29,200 --> 00:00:31,500
 which you probably didn't mean
 to share with unknown strangers,
 
 11
-00:00:32,920 --> 00:00:35,840
+00:00:31,700 --> 00:00:34,000
 who could easily use this data
 to exploit you.
 
 12
-00:00:36,220 --> 00:00:38,120
+00:00:34,500 --> 00:00:37,000
 But not if you're using Tor!
 
 13
-00:00:39,140 --> 00:00:42,840
+00:00:37,140 --> 00:00:40,840
 Tor Browser protects our privacy
 and identity on the Internet.
 
 14
-00:00:43,560 --> 00:00:46,760
+00:00:41,560 --> 00:00:44,760
 Tor secures your connection
 with three layers of encryption
 
 15
-00:00:46,940 --> 00:00:51,760
+00:00:44,940 --> 00:00:49,760
 and passes it through three voluntarily
 operated servers around the world,
 
 16
-00:00:52,280 --> 00:00:55,520
+00:00:50,280 --> 00:00:53,520
 which enables us to communicate
 anonymously over the Internet.
 
 17
-00:00:58,560 --> 00:01:00,280
+00:00:56,560 --> 00:00:58,280
 Tor also protects our data
 
 18
-00:01:00,400 --> 00:01:03,900
+00:00:58,400 --> 00:01:01,900
 against corporate or government targeted
 and mass surveillance.
 
 19
-00:01:04,880 --> 00:01:09,340
+00:01:02,880 --> 00:01:07,340
 Perhaps you live in a repressive country
 which tries to control and surveil the Internet.
 
 20
-00:01:09,900 --> 00:01:13,800
+00:01:07,900 --> 00:01:11,800
 Or perhaps you don't want big corporations
 taking advantage of your personal information.
 
 21
-00:01:14,880 --> 00:01:17,640
+00:01:12,880 --> 00:01:15,640
 Tor makes all of its users
 to look the same
 
 22
-00:01:17,920 --> 00:01:20,800
+00:01:15,920 --> 00:01:18,800
 which confuses the observer
 and makes you anonymous.
 
 23
-00:01:21,500 --> 00:01:24,980
+00:01:19,500 --> 00:01:22,980
 So, the more people use the Tor network,
 the stronger it gets
 
 24
-00:01:25,140 --> 00:01:29,800
+00:01:23,140 --> 00:01:27,800
 as it's easier to hide in a crowd
 of people who look exactly the same.
 
 25
-00:01:30,700 --> 00:01:33,240
+00:01:28,700 --> 00:01:31,240
 You can bypass the censorship
 without being worried about
 
 26
-00:01:33,400 --> 00:01:36,100
+00:01:31,400 --> 00:01:34,100
 the censor knowing what you do
 on the Internet.
 
 27
-00:01:38,540 --> 00:01:41,440
+00:01:36,540 --> 00:01:39,440
 The ads won't follow you
 everywhere for months,
 
 28
-00:01:41,640 --> 00:01:43,300
+00:01:39,640 --> 00:01:41,300
 starting when you first
 clicked on a product.
 
 29
-00:01:45,880 --> 00:01:49,380
+00:01:43,880 --> 00:01:47,380
 By using Tor, the sites you visit
 won't even know who you are,
 
 30
-00:01:49,540 --> 00:01:51,760
+00:01:47,540 --> 00:01:49,760
 from what part of the world
 you're visiting them,
 
 31
-00:01:51,920 --> 00:01:53,920
+00:01:49,920 --> 00:01:51,920
 unless you login and tell them so.
 
 32
-00:01:56,200 --> 00:01:57,840
-By downloading and using Tor,
+00:01:54,200 --> 00:01:55,840
+بە داگرتن و بەکارهێنانی Tor,
 
 33
-00:01:58,200 --> 00:02:00,560
+00:01:56,200 --> 00:01:58,560
 you can protect the people
 who need anonymity,
 
 34
-00:02:00,880 --> 00:02:03,640
-like activists, journalists and bloggers.
+00:01:58,880 --> 00:02:01,640
+وەک چالاکوانان، ڕۆژنامەنووسان و 
بلۆگنووسەکان.
 
 35
-00:02:04,000 --> 00:02:09,000
+00:02:02,000 --> 00:02:07,000
 Download and use Tor! Or run a relay!
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/torbutton-torbuttondtd] Update translations for torbutton-torbuttondtd

2016-09-16 Thread translation
commit 316e9823b5a10512d4b8dfd39ff4fb1dcc44d0d2
Author: Translation commit bot 
Date:   Fri Sep 16 19:46:48 2016 +

Update translations for torbutton-torbuttondtd
---
 ku_IQ/torbutton.dtd | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ku_IQ/torbutton.dtd b/ku_IQ/torbutton.dtd
index e19e42e..a2d8661 100644
--- a/ku_IQ/torbutton.dtd
+++ b/ku_IQ/torbutton.dtd
@@ -4,7 +4,7 @@
 
 
 
-
+
 
 
 
@@ -15,9 +15,9 @@
 
 
 
-
+
 
-
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/torbutton-brandproperties] Update translations for torbutton-brandproperties

2016-09-16 Thread translation
commit a4e3e2604972bc4b46822fefbd44139edbc3522c
Author: Translation commit bot 
Date:   Fri Sep 16 19:46:33 2016 +

Update translations for torbutton-brandproperties
---
 ku_IQ/brand.properties | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ku_IQ/brand.properties b/ku_IQ/brand.properties
index 732c157..3a50a18 100644
--- a/ku_IQ/brand.properties
+++ b/ku_IQ/brand.properties
@@ -2,9 +2,9 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
-brandShorterName=Tor Browser
-brandShortName=Tor Browser
-brandFullName=Tor Browser
+brandShorterName=وێبگەڕی Tor
+brandShortName=وێبگەڕی Tor
+brandFullName=وێبگەڕی Tor
 vendorShortName=Tor Project
 
 homePageSingleStartMain=Firefox Start, a fast home page with built-in search

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-iuk] Update translations for tails-iuk

2016-09-16 Thread translation
commit cfc3c782ce103fa5b283cc1bdf0849eebb7beb87
Author: Translation commit bot 
Date:   Fri Sep 16 19:46:51 2016 +

Update translations for tails-iuk
---
 ku_IQ.po | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/ku_IQ.po b/ku_IQ.po
index e0f40c9..83c97c3 100644
--- a/ku_IQ.po
+++ b/ku_IQ.po
@@ -3,13 +3,14 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
+# Rasti K5 , 2016
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: Tails developers \n"
 "POT-Creation-Date: 2016-05-25 16:55+0200\n"
-"PO-Revision-Date: 2016-05-26 08:49+\n"
-"Last-Translator: carolyn \n"
+"PO-Revision-Date: 2016-09-16 19:43+\n"
+"Last-Translator: Rasti K5 \n"
 "Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -136,7 +137,7 @@ msgstr ""
 
 #: ../lib/Tails/IUK/Frontend.pm:412
 msgid "New version available"
-msgstr ""
+msgstr "وەشانی نوێ بەردەستە"
 
 #: ../lib/Tails/IUK/Frontend.pm:469
 msgid "Downloading upgrade"
@@ -201,7 +202,7 @@ msgstr ""
 
 #: ../lib/Tails/IUK/Frontend.pm:614
 msgid "Restart now"
-msgstr ""
+msgstr "ئێستا دەستپێبکەوە"
 
 #: ../lib/Tails/IUK/Frontend.pm:615
 msgid "Restart later"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-launcher-network-settings] Update translations for tor-launcher-network-settings

2016-09-16 Thread translation
commit 163d8a6986c17a47c1d699f8953c314671b86be7
Author: Translation commit bot 
Date:   Fri Sep 16 19:46:15 2016 +

Update translations for tor-launcher-network-settings
---
 ku_IQ/network-settings.dtd | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/ku_IQ/network-settings.dtd b/ku_IQ/network-settings.dtd
index d7d8572..49dbab3 100644
--- a/ku_IQ/network-settings.dtd
+++ b/ku_IQ/network-settings.dtd
@@ -34,7 +34,7 @@
 
 
 
-
+
 
 
 
@@ -44,11 +44,11 @@
 
 
 
-
+
 
-
+
 
-
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-launcher-properties] Update translations for tor-launcher-properties

2016-09-16 Thread translation
commit 8e4ebe6b94c6c2ebe35e8700d380ffb504f0233d
Author: Translation commit bot 
Date:   Fri Sep 16 19:46:04 2016 +

Update translations for tor-launcher-properties
---
 ku_IQ/torlauncher.properties | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ku_IQ/torlauncher.properties b/ku_IQ/torlauncher.properties
index 94d395d..626f705 100644
--- a/ku_IQ/torlauncher.properties
+++ b/ku_IQ/torlauncher.properties
@@ -31,7 +31,7 @@ torlauncher.error_bridge_bad_default_type=No provided bridges 
that have the tran
 torlauncher.recommended_bridge=(recommended)
 
 torlauncher.connect=Connect
-torlauncher.restart_tor=Restart Tor
+torlauncher.restart_tor=دووبار دەستپێکردنەوەی Tor
 torlauncher.quit=Quit
 torlauncher.quit_win=داخستن
 torlauncher.done=Done

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/torbutton-branddtd] Update translations for torbutton-branddtd

2016-09-16 Thread translation
commit f5592af130f00be01cd004494359914412ac12df
Author: Translation commit bot 
Date:   Fri Sep 16 19:46:39 2016 +

Update translations for torbutton-branddtd
---
 ku_IQ/brand.dtd | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ku_IQ/brand.dtd b/ku_IQ/brand.dtd
index 3df1a08..7045aca 100644
--- a/ku_IQ/brand.dtd
+++ b/ku_IQ/brand.dtd
@@ -2,9 +2,9 @@
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
-
-
-
+
+
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-misc] Update translations for tails-misc

2016-09-16 Thread translation
commit 5f895784b6da278c93cd8a72ef9f3e0ac123b3ef
Author: Translation commit bot 
Date:   Fri Sep 16 19:46:21 2016 +

Update translations for tails-misc
---
 ku_IQ.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ku_IQ.po b/ku_IQ.po
index 7f8fb9a..14eddde 100644
--- a/ku_IQ.po
+++ b/ku_IQ.po
@@ -9,7 +9,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-09-02 16:02+0200\n"
-"PO-Revision-Date: 2016-09-03 08:57+\n"
+"PO-Revision-Date: 2016-09-16 19:22+\n"
 "Last-Translator: carolyn \n"
 "Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"
@@ -381,7 +381,7 @@ msgstr ""
 
 #: 
../config/chroot_local-includes/usr/share/applications/tor-browser.desktop.in.h:1
 msgid "Tor Browser"
-msgstr ""
+msgstr "وێبگەڕی Tor"
 
 #: 
../config/chroot_local-includes/usr/share/applications/tor-browser.desktop.in.h:2
 msgid "Anonymous Web Browser"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/abouttor-homepage] Update translations for abouttor-homepage

2016-09-16 Thread translation
commit c83f5f5c4f875c15e83f5df5eb37604fde30a7c4
Author: Translation commit bot 
Date:   Fri Sep 16 19:46:27 2016 +

Update translations for abouttor-homepage
---
 ku_IQ/aboutTor.dtd | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ku_IQ/aboutTor.dtd b/ku_IQ/aboutTor.dtd
index d44f164..008dff8 100644
--- a/ku_IQ/aboutTor.dtd
+++ b/ku_IQ/aboutTor.dtd
@@ -12,11 +12,11 @@
 
 
 
-
+
 
 
 
-
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/mat-gui] Update translations for mat-gui

2016-09-16 Thread translation
commit a2581e742ff1e61f272906188a2b586a1c32c7c8
Author: Translation commit bot 
Date:   Fri Sep 16 19:45:58 2016 +

Update translations for mat-gui
---
 ku_IQ.po | 21 +++--
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/ku_IQ.po b/ku_IQ.po
index 18ce360..fd491e3 100644
--- a/ku_IQ.po
+++ b/ku_IQ.po
@@ -3,13 +3,14 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
+# Rasti K5 , 2016
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-02-10 23:06+0100\n"
-"PO-Revision-Date: 2016-03-21 16:34+\n"
-"Last-Translator: carolyn \n"
+"PO-Revision-Date: 2016-09-16 19:41+\n"
+"Last-Translator: Rasti K5 \n"
 "Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -57,11 +58,11 @@ msgstr ""
 
 #: mat-gui:192
 msgid "Website"
-msgstr ""
+msgstr "ماڵپەڕ"
 
 #: mat-gui:219
 msgid "Preferences"
-msgstr ""
+msgstr "هەڵبژاردنەکان"
 
 #: mat-gui:232
 msgid "Reduce PDF quality"
@@ -81,7 +82,7 @@ msgstr ""
 
 #: mat-gui:280
 msgid "Unknown"
-msgstr ""
+msgstr "نەناسراو"
 
 #: mat-gui:325
 msgid "Not-supported"
@@ -97,7 +98,7 @@ msgstr ""
 
 #: mat-gui:343
 msgid "Fileformat not supported"
-msgstr ""
+msgstr "فۆڕماتی پەڕگە پاڵپشتی نەکراوە"
 
 #: mat-gui:346
 msgid "These files can not be processed:"
@@ -105,7 +106,7 @@ msgstr ""
 
 #: mat-gui:351 mat-gui:380 data/mat.glade:239
 msgid "Filename"
-msgstr ""
+msgstr "ناوی پەڕگە"
 
 #: mat-gui:353
 msgid "Reason"
@@ -140,15 +141,15 @@ msgstr ""
 
 #: data/mat.glade:95
 msgid "_Edit"
-msgstr ""
+msgstr "_دەستکاریکردن"
 
 #: data/mat.glade:141
 msgid "_Help"
-msgstr ""
+msgstr "_یارمەتی"
 
 #: data/mat.glade:187
 msgid "Add"
-msgstr ""
+msgstr "زیادکردن"
 
 #: data/mat.glade:256
 msgid "State"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/torbirdy] Update translations for torbirdy

2016-09-16 Thread translation
commit 3d0d1d874021481680f29d89abae79e126b85f46
Author: Translation commit bot 
Date:   Fri Sep 16 19:45:52 2016 +

Update translations for torbirdy
---
 ku_IQ/torbirdy.dtd | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/ku_IQ/torbirdy.dtd b/ku_IQ/torbirdy.dtd
index 2d0be2e..c9f270f 100644
--- a/ku_IQ/torbirdy.dtd
+++ b/ku_IQ/torbirdy.dtd
@@ -3,13 +3,13 @@
 
 
 
-
+
 
-
+
 
 
 
-
+
 
 
 
@@ -31,7 +31,7 @@
 
 
 
-
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-persistence-setup] Update translations for tails-persistence-setup

2016-09-16 Thread translation
commit 38bfa8492d94604c89a0edac1c52921035a21bf9
Author: Translation commit bot 
Date:   Fri Sep 16 19:45:39 2016 +

Update translations for tails-persistence-setup
---
 ku_IQ/ku_IQ.po | 11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/ku_IQ/ku_IQ.po b/ku_IQ/ku_IQ.po
index c736a4f..9e03be3 100644
--- a/ku_IQ/ku_IQ.po
+++ b/ku_IQ/ku_IQ.po
@@ -3,13 +3,14 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
+# Rasti K5 , 2016
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: Tails developers \n"
 "POT-Creation-Date: 2016-05-25 02:27+0200\n"
-"PO-Revision-Date: 2016-06-06 08:15+\n"
-"Last-Translator: carolyn \n"
+"PO-Revision-Date: 2016-09-16 19:35+\n"
+"Last-Translator: Rasti K5 \n"
 "Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -83,7 +84,7 @@ msgstr ""
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:128
 msgid "Printers"
-msgstr ""
+msgstr "چاپکەرەکان"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:130
 msgid "Printers configuration"
@@ -99,7 +100,7 @@ msgstr ""
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:148
 msgid "APT Packages"
-msgstr ""
+msgstr "گورزەکانی APT"
 
 #: ../lib/Tails/Persistence/Configuration/Presets.pm:150
 msgid "Packages downloaded by APT"
@@ -286,7 +287,7 @@ msgstr ""
 
 #: ../lib/Tails/Persistence/Step/Configure.pm:74
 msgid "Save"
-msgstr ""
+msgstr "پاشەکەوتکردن"
 
 #: ../lib/Tails/Persistence/Step/Configure.pm:143
 msgid "Saving..."

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/https_everywhere] Update translations for https_everywhere

2016-09-16 Thread translation
commit c7052009c79ba222c3caf58415293d98f4fb372b
Author: Translation commit bot 
Date:   Fri Sep 16 19:45:25 2016 +

Update translations for https_everywhere
---
 ku_IQ/https-everywhere.dtd | 14 +++---
 ku_IQ/ssl-observatory.dtd  |  4 ++--
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/ku_IQ/https-everywhere.dtd b/ku_IQ/https-everywhere.dtd
index 36ff7e7..15e1251 100644
--- a/ku_IQ/https-everywhere.dtd
+++ b/ku_IQ/https-everywhere.dtd
@@ -3,36 +3,36 @@
 
 
 
-
+
 
 
-
+
 
 
 
 
 
-
+
 
 
 
 
 
-
+
 
 
 
 
 
 
-
+
 
 
 
-
+
 
 
-
+
 
 
 
diff --git a/ku_IQ/ssl-observatory.dtd b/ku_IQ/ssl-observatory.dtd
index 0bdf17e..32de9b5 100644
--- a/ku_IQ/ssl-observatory.dtd
+++ b/ku_IQ/ssl-observatory.dtd
@@ -70,7 +70,7 @@ received by the Observatory will indicate that somebody 
visited
 www.something.com, but not who visited the site, or what specific page they
 looked at.  Mouseover the options for further details:">
 
-
+
 
 
@@ -84,7 +84,7 @@ looked at.  Mouseover the options for further details:">
 
 
-
+
 
 
 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tails-greeter] Update translations for tails-greeter

2016-09-16 Thread translation
commit b139a2fa2e66f31e8aee8c66abc58ab2f669774a
Author: Translation commit bot 
Date:   Fri Sep 16 19:45:45 2016 +

Update translations for tails-greeter
---
 ku_IQ/ku_IQ.po | 17 +
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/ku_IQ/ku_IQ.po b/ku_IQ/ku_IQ.po
index f320dc9..aa7a7db 100644
--- a/ku_IQ/ku_IQ.po
+++ b/ku_IQ/ku_IQ.po
@@ -3,13 +3,14 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
+# Rasti K5 , 2016
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-02-29 14:32+0100\n"
-"PO-Revision-Date: 2016-03-21 16:27+\n"
-"Last-Translator: carolyn \n"
+"POT-Creation-Date: 2016-09-02 14:43+0200\n"
+"PO-Revision-Date: 2016-09-16 19:30+\n"
+"Last-Translator: Rasti K5 \n"
 "Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -59,7 +60,7 @@ msgstr ""
 
 #: ../glade/persistencewindow.glade.h:11
 msgid "More options?"
-msgstr ""
+msgstr "بژاردەی زیاتر؟"
 
 #: ../glade/optionswindow.glade.h:3
 msgid "Administration password"
@@ -79,7 +80,7 @@ msgstr ""
 
 #: ../glade/optionswindow.glade.h:7
 msgid "Password:"
-msgstr ""
+msgstr "تێپەڕەوشە:"
 
 #: ../glade/optionswindow.glade.h:8
 msgid "Verify Password:"
@@ -145,7 +146,7 @@ msgstr ""
 msgid " "
 msgstr ""
 
-#: ../glade/langpanel.glade.h:2 ../tailsgreeter/langpanel.py:43
+#: ../glade/langpanel.glade.h:2 ../tailsgreeter/langpanel.py:45
 msgid "Language"
 msgstr ""
 
@@ -180,7 +181,7 @@ msgid ""
 "%(stderr)s"
 msgstr ""
 
-#: ../tailsgreeter/langpanel.py:140 ../tailsgreeter/langpanel.py:167
-#: ../tailsgreeter/langpanel.py:200
+#: ../tailsgreeter/langpanel.py:142 ../tailsgreeter/langpanel.py:169
+#: ../tailsgreeter/langpanel.py:202
 msgid "Other..."
 msgstr ""

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/liveusb-creator] Update translations for liveusb-creator

2016-09-16 Thread translation
commit 6a9df0fdc7d1c79b6cab8567024592ace729d527
Author: Translation commit bot 
Date:   Fri Sep 16 19:45:33 2016 +

Update translations for liveusb-creator
---
 ku_IQ/ku_IQ.po | 11 ++-
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/ku_IQ/ku_IQ.po b/ku_IQ/ku_IQ.po
index c6347d9..2023e32 100644
--- a/ku_IQ/ku_IQ.po
+++ b/ku_IQ/ku_IQ.po
@@ -3,13 +3,14 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
+# Rasti K5 , 2016
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2015-11-02 21:23+0100\n"
-"PO-Revision-Date: 2015-11-03 09:24+\n"
-"Last-Translator: carolyn \n"
+"PO-Revision-Date: 2016-09-16 19:35+\n"
+"Last-Translator: Rasti K5 \n"
 "Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -98,7 +99,7 @@ msgstr ""
 
 #: ../liveusb/dialog.py:161
 msgid "Alt+B"
-msgstr ""
+msgstr "Alt+B"
 
 #: ../liveusb/dialog.py:160
 msgid "Browse"
@@ -143,7 +144,7 @@ msgstr ""
 
 #: ../liveusb/gui.py:778
 msgid "Download complete!"
-msgstr ""
+msgstr "داگرتنەکە تەواو بوو!"
 
 #: ../liveusb/gui.py:782
 msgid "Download failed: "
@@ -604,4 +605,4 @@ msgstr ""
 
 #: ../liveusb/dialog.py:162
 msgid "or"
-msgstr ""
+msgstr "یان"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/torcheck] Update translations for torcheck

2016-09-16 Thread translation
commit 932d109e8cfd74e67361c709fbf96d2a1e1eae9a
Author: Translation commit bot 
Date:   Fri Sep 16 19:45:10 2016 +

Update translations for torcheck
---
 ku_IQ/torcheck.po | 13 +++--
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/ku_IQ/torcheck.po b/ku_IQ/torcheck.po
index 8d92e0f..d31051f 100644
--- a/ku_IQ/torcheck.po
+++ b/ku_IQ/torcheck.po
@@ -2,13 +2,14 @@
 # Copyright (C) 2008-2013 The Tor Project, Inc
 # 
 # Translators:
+# Rasti K5 , 2016
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "POT-Creation-Date: 2012-02-16 20:28+PDT\n"
-"PO-Revision-Date: 2015-02-14 08:38+\n"
-"Last-Translator: runasand \n"
-"Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/projects/p/torproject/language/ku_IQ/)\n"
+"PO-Revision-Date: 2016-09-16 19:36+\n"
+"Last-Translator: Rasti K5 \n"
+"Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -55,7 +56,7 @@ msgid "Your IP address appears to be: "
 msgstr ""
 
 msgid "Are you using Tor?"
-msgstr ""
+msgstr "ئایا تۆ Tor بەکاردەهێنی؟"
 
 msgid "This page is also available in the following languages:"
 msgstr ""
@@ -72,7 +73,7 @@ msgid "Learn More "
 msgstr ""
 
 msgid "Go"
-msgstr ""
+msgstr "بڕۆ"
 
 msgid "Short User Manual"
 msgstr ""
@@ -90,7 +91,7 @@ msgid "JavaScript is enabled."
 msgstr ""
 
 msgid "JavaScript is disabled."
-msgstr ""
+msgstr "جاڤاسکریپت چالاککراوە."
 
 msgid "However, it does not appear to be Tor Browser."
 msgstr ""

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/whisperback] Update translations for whisperback

2016-09-16 Thread translation
commit 336ceb9a7b6739e4f432458f248b0baea6b97d3b
Author: Translation commit bot 
Date:   Fri Sep 16 19:45:16 2016 +

Update translations for whisperback
---
 ku_IQ/ku_IQ.po | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/ku_IQ/ku_IQ.po b/ku_IQ/ku_IQ.po
index 4cf98bf..f0a9954 100644
--- a/ku_IQ/ku_IQ.po
+++ b/ku_IQ/ku_IQ.po
@@ -3,13 +3,14 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
+# Rasti K5 , 2016
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2015-12-16 19:54+0100\n"
-"PO-Revision-Date: 2012-02-26 16:11+\n"
-"Last-Translator: FULL NAME \n"
+"PO-Revision-Date: 2016-09-16 19:38+\n"
+"Last-Translator: Rasti K5 \n"
 "Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -134,7 +135,7 @@ msgstr ""
 
 #: ../data/whisperback.ui.h:3
 msgid "https://tails.boum.org/;
-msgstr ""
+msgstr "https://tails.boum.org/;
 
 #: ../data/whisperback.ui.h:4
 msgid ""

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/bridgedb] Update translations for bridgedb

2016-09-16 Thread translation
commit 1bc962b5173a7e6dad09ad958d67333cc8b2e8cf
Author: Translation commit bot 
Date:   Fri Sep 16 19:45:04 2016 +

Update translations for bridgedb
---
 ku_IQ/LC_MESSAGES/bridgedb.po | 15 ---
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/ku_IQ/LC_MESSAGES/bridgedb.po b/ku_IQ/LC_MESSAGES/bridgedb.po
index f8405da..e77bbfc 100644
--- a/ku_IQ/LC_MESSAGES/bridgedb.po
+++ b/ku_IQ/LC_MESSAGES/bridgedb.po
@@ -5,13 +5,14 @@
 # Translators:
 # Haval Abdulkarim , 2015
 # Jaza Abdullah , 2015
+# Rasti K5 , 2016
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: 
'https://trac.torproject.org/projects/tor/newticket?component=BridgeDB=bridgedb-reported,msgid=isis,sysrqb=isis'\n"
 "POT-Creation-Date: 2015-07-25 03:40+\n"
-"PO-Revision-Date: 2016-03-21 16:27+\n"
-"Last-Translator: Jaza Abdullah \n"
+"PO-Revision-Date: 2016-09-16 19:44+\n"
+"Last-Translator: Rasti K5 \n"
 "Language-Team: Kurdish (Iraq) 
(http://www.transifex.com/otf/torproject/language/ku_IQ/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -33,7 +34,7 @@ msgstr ""
 #. "Tor Browser"
 #: bridgedb/https/server.py:167
 msgid "Sorry! Something went wrong with your request."
-msgstr "ببورە! هەڵەیەک ڕویدا لە داواکردنەکەدا."
+msgstr "ببوورە! هەڵەیەک ڕوویدا لە 
داواکردنەکەدا."
 
 #: bridgedb/https/templates/base.html:79
 msgid "Report a Bug"
@@ -106,7 +107,7 @@ msgstr ""
 #: bridgedb/https/templates/index.html:25
 #, python-format
 msgid "Step %s2%s"
-msgstr ""
+msgstr "هەنگاوی %s2%s"
 
 #: bridgedb/https/templates/index.html:27
 #, python-format
@@ -116,7 +117,7 @@ msgstr ""
 #: bridgedb/https/templates/index.html:36
 #, python-format
 msgid "Step %s3%s"
-msgstr ""
+msgstr "هەنگاوی %s3%s"
 
 #: bridgedb/https/templates/index.html:38
 #, python-format
@@ -193,11 +194,11 @@ msgstr ""
 #: bridgedb/strings.py:56
 #, python-format
 msgid "Hey, %s!"
-msgstr ""
+msgstr "سڵاو، %s!"
 
 #: bridgedb/strings.py:57
 msgid "Hello, friend!"
-msgstr ""
+msgstr "سڵاو، هاوڕێ!"
 
 #: bridgedb/strings.py:58 bridgedb/https/templates/base.html:90
 msgid "Public Keys"

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-prefsdtd_completed] Update translations for tor-messenger-prefsdtd_completed

2016-09-16 Thread translation
commit 021b9e37d76096d83e2ccd340001f17d730a98b9
Author: Translation commit bot 
Date:   Fri Sep 16 15:18:20 2016 +

Update translations for tor-messenger-prefsdtd_completed
---
 pl/prefs.dtd | 11 ++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/pl/prefs.dtd b/pl/prefs.dtd
index da36ad7..c7eb53d 100644
--- a/pl/prefs.dtd
+++ b/pl/prefs.dtd
@@ -1,4 +1,6 @@
 
+
+
 
 
 
@@ -10,4 +12,11 @@
 
 
 
-
\ No newline at end of file
+
+
+
+
+
+
+
+
\ No newline at end of file

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/tor-messenger-prefsdtd] Update translations for tor-messenger-prefsdtd

2016-09-16 Thread translation
commit b643c65815507086fa5c34eb838ebde9d5369365
Author: Translation commit bot 
Date:   Fri Sep 16 15:18:07 2016 +

Update translations for tor-messenger-prefsdtd
---
 pl/prefs.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pl/prefs.dtd b/pl/prefs.dtd
index 60ba8fe..c7eb53d 100644
--- a/pl/prefs.dtd
+++ b/pl/prefs.dtd
@@ -19,4 +19,4 @@
 
 
 
-
\ No newline at end of file
+
\ No newline at end of file

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor-browser-bundle/master] Bug 19528: fix permissions on get-moz-build-date (fixup)

2016-09-16 Thread gk
commit 6a0a82dd8a9e1d882e780b9a0783e91c1c0d69af
Author: Nicolas Vigier 
Date:   Fri Sep 16 17:09:22 2016 +0200

Bug 19528: fix permissions on get-moz-build-date (fixup)
---
 gitian/descriptors/linux/gitian-firefox.yml   | 1 +
 gitian/descriptors/mac/gitian-firefox.yml | 1 +
 gitian/descriptors/windows/gitian-firefox.yml | 1 +
 3 files changed, 3 insertions(+)

diff --git a/gitian/descriptors/linux/gitian-firefox.yml 
b/gitian/descriptors/linux/gitian-firefox.yml
index 79356a9..6f3d3ad 100644
--- a/gitian/descriptors/linux/gitian-firefox.yml
+++ b/gitian/descriptors/linux/gitian-firefox.yml
@@ -89,6 +89,7 @@ script: |
 
   cd tor-browser
   # run get-moz-build-date before removing .git, which is used to get the year
+  chmod +x ~/build/get-moz-build-date
   eval $(~/build/get-moz-build-date $(cat browser/config/version.txt))
   # .git and the src takes up a lot of useless space, and we need the space to 
build
   rm -rf .git
diff --git a/gitian/descriptors/mac/gitian-firefox.yml 
b/gitian/descriptors/mac/gitian-firefox.yml
index 607a04c..7461031 100644
--- a/gitian/descriptors/mac/gitian-firefox.yml
+++ b/gitian/descriptors/mac/gitian-firefox.yml
@@ -44,6 +44,7 @@ script: |
   COPYRIGHT_YEAR=${TB_COMMIT_DATE%%-*}
   mv .mozconfig-mac .mozconfig
   # run get-moz-build-date before removing .git, which is used to get the year
+  chmod +x ~/build/get-moz-build-date
   eval $(~/build/get-moz-build-date $(cat browser/config/version.txt))
   # .git and the src takes up a lot of useless space, and we need the space to 
build
   #git archive HEAD | tar -x -C $OUTDIR/src
diff --git a/gitian/descriptors/windows/gitian-firefox.yml 
b/gitian/descriptors/windows/gitian-firefox.yml
index cc7fdeb..8b68925 100644
--- a/gitian/descriptors/windows/gitian-firefox.yml
+++ b/gitian/descriptors/windows/gitian-firefox.yml
@@ -69,6 +69,7 @@ script: |
   # obscure one.
   export DLLFLAGS="-specs=/home/ubuntu/build/msvcr100.spec"
   # run get-moz-build-date before removing .git, which is used to get the year
+  chmod +x ~/build/get-moz-build-date
   eval $(~/build/get-moz-build-date $(cat browser/config/version.txt))
   # .git and the src takes up a lot of useless space, and we need the space to 
build
   #git archive HEAD | tar -x -C $OUTDIR/src

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [webwml/master] Bumping expert bundle to 0.2.8.7

2016-09-16 Thread gk
commit 0659413b9dcb2679a5dc560c432984950cb24727
Author: Georg Koppen 
Date:   Fri Sep 16 15:07:28 2016 +

Bumping expert bundle to 0.2.8.7
---
 include/versions.wmi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/versions.wmi b/include/versions.wmi
index 12d510d..36e7003 100644
--- a/include/versions.wmi
+++ b/include/versions.wmi
@@ -1,7 +1,7 @@
 0.2.8.7
 0.2.9.2-alpha
 
-0.2.8.6
+0.2.8.7
 
 maint-6.0
 6.0.5

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [webwml/master] Add new Tor Browser version: 6.0.5

2016-09-16 Thread boklm
commit 065295265350f35b51d8ddbe29c51f65924d43b5
Author: Nicolas Vigier 
Date:   Fri Sep 16 13:34:34 2016 +0200

Add new Tor Browser version: 6.0.5
---
 include/versions.wmi   | 22 +++---
 projects/torbrowser/RecommendedTBBVersions |  4 
 2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/include/versions.wmi b/include/versions.wmi
index 94a086d..12d510d 100644
--- a/include/versions.wmi
+++ b/include/versions.wmi
@@ -4,27 +4,27 @@
 0.2.8.6
 
 maint-6.0
-6.0.4
+6.0.5
 6.5a2
 
-6.0.4
-2016-08-02
+6.0.5
+2016-09-16
 6.5a2
 2016-08-03
 
-6.0.4
-2016-08-02
-6.0.4
-2016-08-02
+6.0.5
+2016-09-16
+6.0.5
+2016-09-16
 6.5a2
 2016-08-03
 6.5a2
 2016-08-03
 
-6.0.4
-2016-08-02
-6.0.4
-2016-08-02
+6.0.5
+2016-09-16
+6.0.5
+2016-09-16
 6.5a2
 2016-08-03
 
diff --git a/projects/torbrowser/RecommendedTBBVersions 
b/projects/torbrowser/RecommendedTBBVersions
index 9fd109e..3f9813f 100644
--- a/projects/torbrowser/RecommendedTBBVersions
+++ b/projects/torbrowser/RecommendedTBBVersions
@@ -7,6 +7,10 @@
 "6.0.4-Linux",
 "6.0.4-MacOS",
 "6.0.4-Windows",
+"6.0.5",
+"6.0.5-Linux",
+"6.0.5-MacOS",
+"6.0.5-Windows",
 "6.5a2",
 "6.5a2-Linux",
 "6.5a2-MacOS",

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [nyx/master] Move show_message() and input_prompt()

2016-09-16 Thread atagar
commit 3a2cf0e242d2ed7d8b88f04571aa471bdb1ceed7
Author: Damian Johnson 
Date:   Thu Sep 15 13:12:58 2016 -0700

Move show_message() and input_prompt()

Last controller module functions with the exception of the starter.
---
 nyx/__init__.py  | 32 
 nyx/controller.py| 26 +-
 nyx/menu.py  |  7 +++
 nyx/panel/config.py  | 11 +--
 nyx/panel/graph.py   |  7 +++
 nyx/panel/header.py  |  5 ++---
 nyx/panel/interpreter.py |  1 -
 nyx/panel/log.py | 13 ++---
 8 files changed, 52 insertions(+), 50 deletions(-)

diff --git a/nyx/__init__.py b/nyx/__init__.py
index a22e9f3..db78bd4 100644
--- a/nyx/__init__.py
+++ b/nyx/__init__.py
@@ -9,6 +9,8 @@ Tor curses monitoring application.
   nyx_interface - nyx interface singleton
   tor_controller - tor connection singleton
 
+  show_message - shows a message to the user
+  input_prompt - prompts the user for text input
   init_controller - initializes our connection to tor
   expand_path - expands path with respect to our chroot
   join - joins a series of strings up to a set length
@@ -141,6 +143,36 @@ def tor_controller():
   return TOR_CONTROLLER
 
 
+def show_message(message = None, *attr, **kwargs):
+  """
+  Shows a message in our header.
+
+  :param str message: message to be shown
+  """
+
+  return nyx_interface().header_panel().show_message(message, *attr, **kwargs)
+
+
+def input_prompt(msg, initial_value = ''):
+  """
+  Prompts the user for input.
+
+  :param str message: prompt for user input
+  :param str initial_value: initial value of the prompt
+
+  :returns: **str** with the user input, this is **None** if the prompt is
+canceled
+  """
+
+  header_panel = nyx_interface().header_panel()
+
+  header_panel.show_message(msg)
+  user_input = nyx.curses.str_input(len(msg), header_panel.get_height() - 1, 
initial_value)
+  header_panel.show_message()
+
+  return user_input
+
+
 def init_controller(*args, **kwargs):
   """
   Sets the Controller used by nyx. This is a passthrough for Stem's
diff --git a/nyx/controller.py b/nyx/controller.py
index 85cf1fe..980f44c 100644
--- a/nyx/controller.py
+++ b/nyx/controller.py
@@ -19,7 +19,7 @@ import stem
 from stem.util import conf, log
 
 from nyx.curses import BOLD
-from nyx import nyx_interface, tor_controller
+from nyx import nyx_interface, tor_controller, show_message
 
 
 def conf_handler(key, value):
@@ -35,30 +35,6 @@ CONFIG = conf.config_dict('nyx', {
 }, conf_handler)
 
 
-def show_message(message = None, *attr, **kwargs):
-  return nyx_interface().header_panel().show_message(message, *attr, **kwargs)
-
-
-def input_prompt(msg, initial_value = ''):
-  """
-  Prompts the user for input.
-
-  :param str message: prompt for user input
-  :param str initial_value: initial value of the prompt
-
-  :returns: **str** with the user input, this is **None** if the prompt is
-canceled
-  """
-
-  header_panel = nyx_interface().header_panel()
-
-  header_panel.show_message(msg)
-  user_input = nyx.curses.str_input(len(msg), header_panel.get_height() - 1, 
initial_value)
-  header_panel.show_message()
-
-  return user_input
-
-
 def start_nyx():
   """
   Main draw loop context.
diff --git a/nyx/menu.py b/nyx/menu.py
index 4d5f61c..83b8479 100644
--- a/nyx/menu.py
+++ b/nyx/menu.py
@@ -7,13 +7,12 @@ Menu for controlling nyx.
 
 import functools
 
-import nyx.controller
 import nyx.curses
 import nyx.popups
 
 import stem
 
-from nyx import nyx_interface, tor_controller
+from nyx import nyx_interface, tor_controller, show_message
 from nyx.curses import RED, WHITE, NORMAL, BOLD, UNDERLINE
 from stem.util import str_tools
 
@@ -205,7 +204,7 @@ def show_menu():
   cursor = MenuCursor(menu.children[0].children[0])
 
   with nyx.curses.CURSES_LOCK:
-nyx.controller.show_message('Press m or esc to close the menu.', BOLD)
+show_message('Press m or esc to close the menu.', BOLD)
 
 while not cursor.is_done:
   selection_x = _draw_top_menubar(menu, cursor.selection)
@@ -213,7 +212,7 @@ def show_menu():
   cursor.handle_key(nyx.curses.key_input())
   nyx_interface().redraw()
 
-nyx.controller.show_message()
+show_message()
 
 
 def _make_menu():
diff --git a/nyx/panel/config.py b/nyx/panel/config.py
index d67afae..42271e2 100644
--- a/nyx/panel/config.py
+++ b/nyx/panel/config.py
@@ -9,7 +9,6 @@ and the resulting configuration files saved.
 import curses
 import os
 
-import nyx.controller
 import nyx.curses
 import nyx.panel
 import nyx.popups
@@ -20,7 +19,7 @@ import stem.util.connection
 
 from nyx.curses import WHITE, NORMAL, BOLD, HIGHLIGHT
 from nyx.menu import MenuItem, Submenu
-from nyx import DATA_DIR, tor_controller
+from nyx import DATA_DIR, tor_controller, input_prompt, show_message
 
 from stem.util import conf, enum, log, str_tools
 
@@ -194,9 +193,9 @@ class ConfigPanel(nyx.panel.Panel):
 if 

[tor-commits] [nyx/master] Move panel methods

2016-09-16 Thread atagar
commit af4562df66c5c6d3dc633cedf4368c88f463e8d0
Author: Damian Johnson 
Date:   Tue Sep 13 10:25:19 2016 -0700

Move panel methods

Pretty direct cut-and-paste with the exception of renaming
get_display_panels().
---
 nyx/__init__.py   | 45 +++--
 nyx/controller.py | 44 +++-
 nyx/menu.py   |  4 ++--
 nyx/popups.py |  2 +-
 test/popups.py|  2 +-
 5 files changed, 50 insertions(+), 47 deletions(-)

diff --git a/nyx/__init__.py b/nyx/__init__.py
index c7a9b47..2ca58fe 100644
--- a/nyx/__init__.py
+++ b/nyx/__init__.py
@@ -19,6 +19,10 @@ Tor curses monitoring application.
 |- set_page - sets the page we're showing
 |- page_count - pages within our interface
 |
+|- get_panels - provides all panels
+|- get_page_panels - provides panels on a page
+|- get_daemon_panels - provides daemon panels
+|
 |- is_paused - checks if the interface is paused
 +- set_paused - sets paused state
 """
@@ -260,6 +264,41 @@ class Interface(object):
 
 return len(self._page_panels)
 
+  def get_panels(self):
+"""
+Provides all panels in the interface.
+
+:returns: **list** with panels in the interface
+"""
+
+all_panels = [self._header_panel]
+
+for page in self._page_panels:
+  all_panels += list(page)
+
+return all_panels
+
+  def get_page_panels(self, page_number = None):
+"""
+Provides panels belonging to a page, ordered top to bottom.
+
+:param int page_number: page to provide the panels of, current page if
+  **None**
+
+:returns: **list** of panels on that page
+"""
+
+return list(self._page_panels[self._page if page_number is None else 
page_number])
+
+  def get_daemon_panels(self):
+"""
+Provides panels that are daemons.
+
+:returns: **list** of DaemonPanel in the interface
+"""
+
+return [panel for panel in self.get_panels() if isinstance(panel, 
nyx.panel.DaemonPanel)]
+
   def is_paused(self):
 """
 Checks if the interface is configured to be paused.
@@ -280,8 +319,10 @@ class Interface(object):
 if is_pause != self._paused:
   self._paused = is_pause
 
-  for panel_impl in self.get_all_panels():
+  for panel_impl in self.get_panels():
 panel_impl.set_paused(is_pause)
 
-  for panel_impl in self.get_display_panels():
+  for panel_impl in self.get_page_panels():
 panel_impl.redraw()
+
+import nyx.panel
diff --git a/nyx/controller.py b/nyx/controller.py
index 8e1f6f3..63aa13c 100644
--- a/nyx/controller.py
+++ b/nyx/controller.py
@@ -139,44 +139,6 @@ class Controller(Interface):
   def header_panel(self):
 return self._header_panel
 
-  def get_display_panels(self, page_number = None):
-"""
-Provides all panels belonging to a page and sticky content above it. This
-is ordered they way they are presented (top to bottom) on the page.
-
-Arguments:
-  page_number- page number of the panels to be returned, the current
-  page if None
-"""
-
-return_page = self._page if page_number is None else page_number
-return list(self._page_panels[return_page]) if self._page_panels else []
-
-  def get_daemon_panels(self):
-"""
-Provides thread panels.
-"""
-
-thread_panels = []
-
-for panel_impl in self.get_all_panels():
-  if isinstance(panel_impl, threading.Thread):
-thread_panels.append(panel_impl)
-
-return thread_panels
-
-  def get_all_panels(self):
-"""
-Provides all panels in the interface.
-"""
-
-all_panels = [self._header_panel]
-
-for page in self._page_panels:
-  all_panels += list(page)
-
-return all_panels
-
   def redraw(self, force = True):
 """
 Redraws the displayed panel content.
@@ -195,7 +157,7 @@ class Controller(Interface):
   if self._last_drawn + CONFIG['features.refreshRate'] <= current_time:
 force = True
 
-display_panels = [self.header_panel()] + self.get_display_panels()
+display_panels = [self.header_panel()] + self.get_page_panels()
 
 occupied_content = 0
 
@@ -274,11 +236,11 @@ def start_nyx():
   override_key = None  # uses this rather than waiting on user input
 
   while not interface.quit_signal:
-display_panels = [interface.header_panel()] + 
interface.get_display_panels()
+display_panels = [interface.header_panel()] + interface.get_page_panels()
 
 # sets panel visability
 
-for panel_impl in interface.get_all_panels():
+for panel_impl in interface.get_panels():
   panel_impl.set_visible(panel_impl in display_panels)
 
 interface.redraw()
diff --git a/nyx/menu.py b/nyx/menu.py
index 8ebaf4d..ebb8305 100644
--- a/nyx/menu.py
+++ b/nyx/menu.py
@@ -240,7 +240,7 @@ def _make_menu():
 
   root_menu.add(_view_menu())
 
-  for panel in interface.get_display_panels():
+  for panel in interface.get_page_panels():
 submenu = 

[tor-commits] [nyx/master] Drop daemon_panels() method

2016-09-16 Thread atagar
commit ed0fcdc3a1d8e8b489bc22420bcf7cc004a7097e
Author: Damian Johnson 
Date:   Thu Sep 15 19:00:50 2016 -0700

Drop daemon_panels() method

This is only used internally so just doing the isinstance() checks where we
need 'em.
---
 nyx/__init__.py   | 20 
 nyx/controller.py |  7 +--
 2 files changed, 9 insertions(+), 18 deletions(-)

diff --git a/nyx/__init__.py b/nyx/__init__.py
index db78bd4..33da167 100644
--- a/nyx/__init__.py
+++ b/nyx/__init__.py
@@ -23,7 +23,6 @@ Tor curses monitoring application.
 |
 |- header_panel - provides the header panel
 |- page_panels - provides panels on a page
-|- daemon_panels - provides daemon panels
 |
 |- is_paused - checks if the interface is paused
 |- set_paused - sets paused state
@@ -309,6 +308,10 @@ class Interface(object):
 if CONFIG['features.panels.show.interpreter']:
   self._page_panels.append([nyx.panel.interpreter.InterpreterPanel()])
 
+for panel in self:
+  if isinstance(panel, nyx.panel.DaemonPanel):
+panel.start()
+
   def get_page(self):
 """
 Provides the page we're showing.
@@ -364,15 +367,6 @@ class Interface(object):
 
 return list(self._page_panels[self._page if page_number is None else 
page_number])
 
-  def daemon_panels(self):
-"""
-Provides panels that are daemons.
-
-:returns: **list** of DaemonPanel in the interface
-"""
-
-return [panel for panel in self if isinstance(panel, 
nyx.panel.DaemonPanel)]
-
   def is_paused(self):
 """
 Checks if the interface is configured to be paused.
@@ -434,10 +428,12 @@ class Interface(object):
 """
 
 def halt_panels():
-  for panel in self.daemon_panels():
+  daemons = [panel for panel in self if isinstance(panel, 
nyx.panel.DaemonPanel)]
+
+  for panel in daemons():
 panel.stop()
 
-  for panel in self.daemon_panels():
+  for panel in daemons():
 panel.join()
 
 halt_thread = threading.Thread(target = halt_panels)
diff --git a/nyx/controller.py b/nyx/controller.py
index 980f44c..d304527 100644
--- a/nyx/controller.py
+++ b/nyx/controller.py
@@ -40,8 +40,6 @@ def start_nyx():
   Main draw loop context.
   """
 
-  interface = nyx_interface()
-
   if not CONFIG['features.acsSupport']:
 nyx.curses.disable_acs()
 
@@ -51,10 +49,7 @@ def start_nyx():
 if not key.startswith('msg.') and not key.startswith('dedup.'):
   log.notice('Unused configuration entry: %s' % key)
 
-  # tells daemon panels to start
-
-  for panel in interface.daemon_panels():
-panel.start()
+  interface = nyx_interface()
 
   # logs the initialization time
 



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [nyx/master] Move header_panel method

2016-09-16 Thread atagar
commit 07432edae044bb5e71b16e2cd994ef9fbc89ad42
Author: Damian Johnson 
Date:   Thu Sep 15 12:46:47 2016 -0700

Move header_panel method

Moving our last method and dropping the get_* prefix from the other panel
methods.
---
 nyx/__init__.py   | 26 ++
 nyx/controller.py |  7 ++-
 nyx/menu.py   |  4 ++--
 nyx/popups.py |  2 +-
 test/popups.py|  2 +-
 5 files changed, 24 insertions(+), 17 deletions(-)

diff --git a/nyx/__init__.py b/nyx/__init__.py
index dc4d3e5..973776d 100644
--- a/nyx/__init__.py
+++ b/nyx/__init__.py
@@ -19,8 +19,9 @@ Tor curses monitoring application.
 |- set_page - sets the page we're showing
 |- page_count - pages within our interface
 |
-|- get_page_panels - provides panels on a page
-|- get_daemon_panels - provides daemon panels
+|- header_panel - provides the header panel
+|- page_panels - provides panels on a page
+|- daemon_panels - provides daemon panels
 |
 |- is_paused - checks if the interface is paused
 |- set_paused - sets paused state
@@ -268,7 +269,16 @@ class Interface(object):
 
 return len(self._page_panels)
 
-  def get_page_panels(self, page_number = None):
+  def header_panel(self):
+"""
+Provides our interface's header.
+
+:returns: :class:`~nyx.panel.header.HeaderPanel` of our interface
+"""
+
+return self._header_panel
+
+  def page_panels(self, page_number = None):
 """
 Provides panels belonging to a page, ordered top to bottom.
 
@@ -280,7 +290,7 @@ class Interface(object):
 
 return list(self._page_panels[self._page if page_number is None else 
page_number])
 
-  def get_daemon_panels(self):
+  def daemon_panels(self):
 """
 Provides panels that are daemons.
 
@@ -312,7 +322,7 @@ class Interface(object):
   for panel in self:
 panel.set_paused(is_pause)
 
-  for panel in self.get_page_panels():
+  for panel in self.page_panels():
 panel.redraw()
 
   def redraw(self, force = True):
@@ -331,7 +341,7 @@ class Interface(object):
 
 occupied = 0
 
-for panel in [self.header_panel()] + self.get_page_panels():
+for panel in [self.header_panel()] + self.page_panels():
   panel.redraw(force = force, top = occupied)
   occupied += panel.get_height()
 
@@ -350,10 +360,10 @@ class Interface(object):
 """
 
 def halt_panels():
-  for panel in self.get_daemon_panels():
+  for panel in self.daemon_panels():
 panel.stop()
 
-  for panel in self.get_daemon_panels():
+  for panel in self.daemon_panels():
 panel.join()
 
 halt_thread = threading.Thread(target = halt_panels)
diff --git a/nyx/controller.py b/nyx/controller.py
index 201dec4..cb69082 100644
--- a/nyx/controller.py
+++ b/nyx/controller.py
@@ -129,9 +129,6 @@ class Controller(Interface):
 if CONFIG['features.panels.show.interpreter']:
   self._page_panels.append([nyx.panel.interpreter.InterpreterPanel()])
 
-  def header_panel(self):
-return self._header_panel
-
 
 def start_nyx():
   """
@@ -151,7 +148,7 @@ def start_nyx():
 
   # tells daemon panels to start
 
-  for panel in interface.get_daemon_panels():
+  for panel in interface.daemon_panels():
 panel.start()
 
   # logs the initialization time
@@ -163,7 +160,7 @@ def start_nyx():
   override_key = None  # uses this rather than waiting on user input
 
   while not interface._quit:
-display_panels = [interface.header_panel()] + interface.get_page_panels()
+display_panels = [interface.header_panel()] + interface.page_panels()
 
 # sets panel visability
 
diff --git a/nyx/menu.py b/nyx/menu.py
index ebb8305..4d5f61c 100644
--- a/nyx/menu.py
+++ b/nyx/menu.py
@@ -240,7 +240,7 @@ def _make_menu():
 
   root_menu.add(_view_menu())
 
-  for panel in interface.get_page_panels():
+  for panel in interface.page_panels():
 submenu = panel.submenu()
 
 if submenu:
@@ -270,7 +270,7 @@ def _view_menu():
   page_group = RadioGroup(interface.set_page, interface.get_page())
 
   for i in range(interface.page_count()):
-page_panels = interface.get_page_panels(page_number = i)
+page_panels = interface.page_panels(page_number = i)
 label = ' / '.join([type(panel).__name__.replace('Panel', '') for panel in 
page_panels])
 view_menu.add(RadioMenuItem(label, page_group, i))
 
diff --git a/nyx/popups.py b/nyx/popups.py
index b52d95d..e2f0205 100644
--- a/nyx/popups.py
+++ b/nyx/popups.py
@@ -59,7 +59,7 @@ def show_help():
   interface = nyx_interface()
   handlers = []
 
-  for panel in reversed(interface.get_page_panels()):
+  for panel in reversed(interface.page_panels()):
 handlers += [handler for handler in panel.key_handlers() if 
handler.description]
 
   def _render(subwindow):
diff --git a/test/popups.py b/test/popups.py
index 361d15b..3e64914 100644
--- a/test/popups.py
+++ b/test/popups.py
@@ -275,7 +275,7 @@ class TestPopups(unittest.TestCase):
   

[tor-commits] [nyx/master] Rewrite controller module

2016-09-16 Thread atagar
commit 25458f3b15b598820ff9a90a85fd295449df7dc8
Merge: ca2a385 85e41b3
Author: Damian Johnson 
Date:   Thu Sep 15 23:13:17 2016 -0700

Rewrite controller module

Finishing the overhaul fo the last bit of our legacy codebase! This replaces
our controller module with a simpler Interface class.

 nyx/__init__.py  | 348 +-
 nyx/controller.py| 423 ---
 nyx/curses.py|   9 +-
 nyx/menu.py  |  31 ++--
 nyx/panel/__init__.py|  33 ++--
 nyx/panel/config.py  |  11 +-
 nyx/panel/connection.py  |  14 +-
 nyx/panel/graph.py   |  31 ++--
 nyx/panel/header.py  |  23 +--
 nyx/panel/interpreter.py |   1 -
 nyx/panel/log.py |  24 ++-
 nyx/popups.py|  10 +-
 nyx/settings/strings.cfg |   4 +
 nyx/starter.py   |  23 ++-
 nyxrc.sample |   5 -
 test/__init__.py |   2 +-
 test/panel/header.py |  18 +-
 test/popups.py   |   6 +-
 18 files changed, 475 insertions(+), 541 deletions(-)

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [nyx/master] Finish merging Controller into the Interface

2016-09-16 Thread atagar
commit 0a366d3c6d140d0a9f229e9decf69c3e42de7a6d
Author: Damian Johnson 
Date:   Thu Sep 15 12:57:55 2016 -0700

Finish merging Controller into the Interface

Last bit is moving the constructor in. This completes the shift from our old
controller into the interface class.
---
 nyx/__init__.py   | 55 +++---
 nyx/controller.py | 79 +++
 2 files changed, 56 insertions(+), 78 deletions(-)

diff --git a/nyx/__init__.py b/nyx/__init__.py
index 973776d..a22e9f3 100644
--- a/nyx/__init__.py
+++ b/nyx/__init__.py
@@ -1,4 +1,4 @@
-# Copyright 2010-2016, Damian Johnson and The Tor Project
+# Copyright 2009-2016, Damian Johnson and The Tor Project
 # See LICENSE for licensing information
 
 """
@@ -61,6 +61,16 @@ __all__ = [
   'tracker',
 ]
 
+CONFIG = stem.util.conf.config_dict('nyx', {
+  'features.panels.show.graph': True,
+  'features.panels.show.log': True,
+  'features.panels.show.connection': True,
+  'features.panels.show.config': True,
+  'features.panels.show.torrc': True,
+  'features.panels.show.interpreter': True,
+})
+
+NYX_INTERFACE = None
 TOR_CONTROLLER = None
 BASE_DIR = os.path.sep.join(__file__.split(os.path.sep)[:-1])
 DATA_DIR = os.path.expanduser('~/.nyx')
@@ -115,8 +125,10 @@ def nyx_interface():
   :returns: :class:`~nyx.Interface` controller
   """
 
-  import nyx.controller
-  return nyx.controller.get_controller()
+  if NYX_INTERFACE is None:
+Interface()  # constructor sets NYX_INTERFACE
+
+  return NYX_INTERFACE
 
 
 def tor_controller():
@@ -231,10 +243,40 @@ class Interface(object):
   """
 
   def __init__(self):
+global NYX_INTERFACE
+
 self._page = 0
+self._page_panels = []
+self._header_panel = None
 self._paused = False
 self._quit = False
 
+NYX_INTERFACE = self
+
+self._header_panel = nyx.panel.header.HeaderPanel()
+first_page_panels = []
+
+if CONFIG['features.panels.show.graph']:
+  first_page_panels.append(nyx.panel.graph.GraphPanel())
+
+if CONFIG['features.panels.show.log']:
+  first_page_panels.append(nyx.panel.log.LogPanel())
+
+if first_page_panels:
+  self._page_panels.append(first_page_panels)
+
+if CONFIG['features.panels.show.connection']:
+  self._page_panels.append([nyx.panel.connection.ConnectionPanel()])
+
+if CONFIG['features.panels.show.config']:
+  self._page_panels.append([nyx.panel.config.ConfigPanel()])
+
+if CONFIG['features.panels.show.torrc']:
+  self._page_panels.append([nyx.panel.torrc.TorrcPanel()])
+
+if CONFIG['features.panels.show.interpreter']:
+  self._page_panels.append([nyx.panel.interpreter.InterpreterPanel()])
+
   def get_page(self):
 """
 Provides the page we're showing.
@@ -379,3 +421,10 @@ class Interface(object):
 
 
 import nyx.panel
+import nyx.panel.config
+import nyx.panel.connection
+import nyx.panel.graph
+import nyx.panel.header
+import nyx.panel.interpreter
+import nyx.panel.log
+import nyx.panel.torrc
diff --git a/nyx/controller.py b/nyx/controller.py
index cb69082..85cf1fe 100644
--- a/nyx/controller.py
+++ b/nyx/controller.py
@@ -13,23 +13,13 @@ import nyx.menu
 import nyx.popups
 
 import nyx.panel
-import nyx.panel.config
-import nyx.panel.connection
-import nyx.panel.graph
-import nyx.panel.header
-import nyx.panel.interpreter
-import nyx.panel.log
-import nyx.panel.torrc
 
 import stem
 
 from stem.util import conf, log
 
 from nyx.curses import BOLD
-from nyx import Interface, tor_controller
-
-
-NYX_CONTROLLER = None
+from nyx import nyx_interface, tor_controller
 
 
 def conf_handler(key, value):
@@ -39,31 +29,14 @@ def conf_handler(key, value):
 
 CONFIG = conf.config_dict('nyx', {
   'features.acsSupport': True,
-  'features.panels.show.graph': True,
-  'features.panels.show.log': True,
-  'features.panels.show.connection': True,
-  'features.panels.show.config': True,
-  'features.panels.show.torrc': True,
-  'features.panels.show.interpreter': True,
   'features.redrawRate': 5,
   'features.confirmQuit': True,
   'start_time': 0,
 }, conf_handler)
 
 
-def get_controller():
-  """
-  Provides the nyx controller instance.
-  """
-
-  if NYX_CONTROLLER is None:
-Controller()  # constructor sets NYX_CONTROLLER
-
-  return NYX_CONTROLLER
-
-
 def show_message(message = None, *attr, **kwargs):
-  return get_controller().header_panel().show_message(message, *attr, **kwargs)
+  return nyx_interface().header_panel().show_message(message, *attr, **kwargs)
 
 
 def input_prompt(msg, initial_value = ''):
@@ -77,7 +50,7 @@ def input_prompt(msg, initial_value = ''):
 canceled
   """
 
-  header_panel = get_controller().header_panel()
+  header_panel = nyx_interface().header_panel()
 
   header_panel.show_message(msg)
   user_input = nyx.curses.str_input(len(msg), header_panel.get_height() - 1, 
initial_value)
@@ -86,56 +59,12 @@ def input_prompt(msg, initial_value = ''):
   return user_input
 
 

[tor-commits] [nyx/master] Finish merging controller module

2016-09-16 Thread atagar
commit 85e41b3581371d9119dc678ce5e7f939453f45ba
Author: Damian Johnson 
Date:   Thu Sep 15 23:06:38 2016 -0700

Finish merging controller module

Moving the draw loop, making a handful of minor improvements in the process.
This lets us finally drop the controller module.
---
 nyx/__init__.py  |  85 ---
 nyx/controller.py| 114 ---
 nyx/menu.py  |   2 +-
 nyx/popups.py|   2 +-
 nyx/settings/strings.cfg |   4 ++
 nyx/starter.py   |  15 ++-
 test/__init__.py |   2 +-
 7 files changed, 99 insertions(+), 125 deletions(-)

diff --git a/nyx/__init__.py b/nyx/__init__.py
index 33da167..69ede9b 100644
--- a/nyx/__init__.py
+++ b/nyx/__init__.py
@@ -36,7 +36,9 @@ import distutils.spawn
 import os
 import sys
 import threading
+import time
 
+import stem
 import stem.connection
 import stem.control
 import stem.util.conf
@@ -62,14 +64,23 @@ __all__ = [
   'tracker',
 ]
 
+
+def conf_handler(key, value):
+  if key == 'features.redrawRate':
+return max(1, value)
+
+
 CONFIG = stem.util.conf.config_dict('nyx', {
+  'features.confirmQuit': True,
   'features.panels.show.graph': True,
   'features.panels.show.log': True,
   'features.panels.show.connection': True,
   'features.panels.show.config': True,
   'features.panels.show.torrc': True,
   'features.panels.show.interpreter': True,
-})
+  'features.redrawRate': 5,
+  'start_time': 0,
+}, conf_handler)
 
 NYX_INTERFACE = None
 TOR_CONTROLLER = None
@@ -94,7 +105,6 @@ except IOError as exc:
 
 def main():
   try:
-import nyx.starter
 nyx.starter.main()
   except ImportError as exc:
 if exc.message == 'No module named stem':
@@ -119,6 +129,55 @@ def main():
 sys.exit(1)
 
 
+def draw_loop():
+  interface = nyx_interface()
+  next_key = None  # use this as the next user input
+
+  stem.util.log.info(msg('startup_time', start_time = time.time() - 
CONFIG['start_time']))
+
+  while not interface._quit:
+interface.redraw()
+
+with nyx.curses.raw_screen() as stdscr:
+  stdscr.refresh()
+
+if next_key:
+  key, next_key = next_key, None
+else:
+  key = nyx.curses.key_input(CONFIG['features.redrawRate'])
+
+if key.match('right'):
+  interface.set_page((interface.get_page() + 1) % interface.page_count())
+elif key.match('left'):
+  interface.set_page((interface.get_page() - 1) % interface.page_count())
+elif key.match('p'):
+  interface.set_paused(not interface.is_paused())
+elif key.match('m'):
+  nyx.menu.show_menu()
+elif key.match('q'):
+  if CONFIG['features.confirmQuit']:
+confirmation_key = show_message(msg('confirm_quit'), nyx.curses.BOLD, 
max_wait = 30)
+
+if not confirmation_key.match('q'):
+  continue
+
+  break
+elif key.match('x'):
+  confirmation_key = show_message(msg('confirm_reload'), nyx.curses.BOLD, 
max_wait = 30)
+
+  if confirmation_key.match('x'):
+try:
+  tor_controller().signal(stem.Signal.RELOAD)
+except stem.ControllerError as exc:
+  stem.util.log.error('Error detected when reloading tor: %s' % 
exc.strerror)
+elif key.match('h'):
+  next_key = nyx.popups.show_help()
+else:
+  for panel in interface.page_panels():
+for keybinding in panel.key_handlers():
+  keybinding.handle(key)
+
+
 def nyx_interface():
   """
   Singleton controller for our interface.
@@ -308,7 +367,11 @@ class Interface(object):
 if CONFIG['features.panels.show.interpreter']:
   self._page_panels.append([nyx.panel.interpreter.InterpreterPanel()])
 
+visible_panels = self.page_panels()
+
 for panel in self:
+  panel.set_visible(panel in visible_panels)
+
   if isinstance(panel, nyx.panel.DaemonPanel):
 panel.start()
 
@@ -337,6 +400,11 @@ class Interface(object):
   self._page = page_number
   self.header_panel().redraw()
 
+  visible_panels = self.page_panels()
+
+  for panel in self:
+panel.set_visible(panel in visible_panels)
+
   def page_count(self):
 """
 Provides the number of pages the interface has.
@@ -365,7 +433,8 @@ class Interface(object):
 :returns: **list** of panels on that page
 """
 
-return list(self._page_panels[self._page if page_number is None else 
page_number])
+page_number = self._page if page_number is None else page_number
+return [self._header_panel] + self._page_panels[page_number]
 
   def is_paused(self):
 """
@@ -409,7 +478,7 @@ class Interface(object):
 
 occupied = 0
 
-for panel in [self.header_panel()] + self.page_panels():
+for panel in self.page_panels():
   panel.redraw(force = force, top = occupied)
   occupied += panel.get_height()
 
@@ -430,10 +499,10 @@ class Interface(object):
 def halt_panels():
   daemons = [panel for panel in self if isinstance(panel, 

[tor-commits] [nyx/master] Move ACS support into curses.start()

2016-09-16 Thread atagar
commit 9264b37174c80ee2c8bd3bd412ea290cef45e91b
Author: Damian Johnson 
Date:   Thu Sep 15 20:45:34 2016 -0700

Move ACS support into curses.start()

Our start method accepts flags for other curses features. ACS would be a
perfect fit, and lets us make one of our functions private.
---
 nyx/controller.py | 4 
 nyx/curses.py | 9 ++---
 nyx/starter.py| 2 +-
 3 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/nyx/controller.py b/nyx/controller.py
index d304527..76fa549 100644
--- a/nyx/controller.py
+++ b/nyx/controller.py
@@ -28,7 +28,6 @@ def conf_handler(key, value):
 
 
 CONFIG = conf.config_dict('nyx', {
-  'features.acsSupport': True,
   'features.redrawRate': 5,
   'features.confirmQuit': True,
   'start_time': 0,
@@ -40,9 +39,6 @@ def start_nyx():
   Main draw loop context.
   """
 
-  if not CONFIG['features.acsSupport']:
-nyx.curses.disable_acs()
-
   # provides notice about any unused config keys
 
   for key in sorted(conf.get_config('nyx').unused_keys()):
diff --git a/nyx/curses.py b/nyx/curses.py
index d6176f9..1717067 100644
--- a/nyx/curses.py
+++ b/nyx/curses.py
@@ -25,7 +25,6 @@ if we want Windows support in the future too.
   get_color_override - provides color we override requests with
   set_color_override - sets color we override requests with
 
-  disable_acs - renders replacements for ACS characters
   is_wide_characters_supported - checks if curses supports wide character
 
   draw - renders subwindow that can be drawn into
@@ -181,11 +180,12 @@ CONFIG = stem.util.conf.config_dict('nyx', {
 }, conf_handler)
 
 
-def start(function, transparent_background = False, cursor = True):
+def start(function, acs_support = True, transparent_background = False, cursor 
= True):
   """
   Starts a curses interface, delegating to the given function.
 
   :param funtion: function to invoke when curses starts
+  :param bool acs_support: uses wide characters for pipes
   :param bool transparent_background: allows background transparency
   :param bool cursor: makes cursor visible
   """
@@ -195,6 +195,9 @@ def start(function, transparent_background = False, cursor 
= True):
 
 CURSES_SCREEN = stdscr
 
+if not acs_support:
+  _disable_acs()
+
 if transparent_background:
   try:
 curses.use_default_colors()
@@ -608,7 +611,7 @@ def _color_attr():
   return COLOR_ATTR
 
 
-def disable_acs():
+def _disable_acs():
   """
   Replaces ACS characters used for showing borders. This can be preferable if
   curses is `unable to render them
diff --git a/nyx/starter.py b/nyx/starter.py
index 0126c3c..7ff37b2 100644
--- a/nyx/starter.py
+++ b/nyx/starter.py
@@ -85,7 +85,7 @@ def main(config):
   _set_process_name()
 
   try:
-nyx.curses.start(nyx.controller.start_nyx, transparent_background = True, 
cursor = False)
+nyx.curses.start(nyx.controller.start_nyx, acs_support = 
config.get('features.acsSupport', True), transparent_background = True, cursor 
= False)
   except UnboundLocalError as exc:
 if os.environ['TERM'] != 'xterm':
   print(msg('setup.unknown_term', term = os.environ['TERM']))



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [nyx/master] Notify all panels of pausing/unpausing

2016-09-16 Thread atagar
commit f271985f7647e56b6737be689ceeb5329b1d492c
Author: Damian Johnson 
Date:   Mon Sep 12 10:33:36 2016 -0700

Notify all panels of pausing/unpausing

Initially I thought a listener pattern would make more sense, but just about
all the panels need to be notified when we're paused or unpaused. As such
adding a notification hook to the panel.

This lets us drop get_pause_time() from the Interface since the two panels 
that
care about this can now track it for themselves.
---
 nyx/__init__.py | 24 +---
 nyx/panel/__init__.py   | 10 ++
 nyx/panel/connection.py |  7 ++-
 nyx/panel/graph.py  | 10 +-
 nyx/panel/header.py | 10 +++---
 nyx/panel/log.py|  8 
 6 files changed, 33 insertions(+), 36 deletions(-)

diff --git a/nyx/__init__.py b/nyx/__init__.py
index 268c4ba..4a031c7 100644
--- a/nyx/__init__.py
+++ b/nyx/__init__.py
@@ -16,14 +16,12 @@ Tor curses monitoring application.
 
   Interface - overall nyx interface
 |- is_paused - checks if the interface is paused
-|- pause_time - time when the interface was paused
 +- set_paused - sets paused state
 """
 
 import distutils.spawn
 import os
 import sys
-import time
 
 import stem.connection
 import stem.control
@@ -221,7 +219,6 @@ class Interface(object):
 
   def __init__(self):
 self._paused = False
-self._pause_time = None
 
   def is_paused(self):
 """
@@ -232,16 +229,6 @@ class Interface(object):
 
 return self._paused
 
-  def get_pause_time(self):
-"""
-Provides the time that we were last paused.
-
-:returns: **float** with the unix timestamp for when we were last paused,
-  **None** if not paused
-"""
-
-return self._pause_time
-
   def set_paused(self, is_pause):
 """
 Pauses or unpauses the interface.
@@ -252,18 +239,9 @@ class Interface(object):
 
 if is_pause != self._paused:
   self._paused = is_pause
-  self._pause_time = time.time() if is_pause else None
-
-  # Couple panels have their own pausing behavior. I'll later change this 
to
-  # a listener approach or someting else that's less hacky.
 
   for panel_impl in self.get_all_panels():
-if isinstance(panel_impl, nyx.panel.graph.GraphPanel) or 
isinstance(panel_impl, nyx.panel.log.LogPanel):
-  panel_impl.set_paused(is_pause)
+panel_impl.set_paused(is_pause)
 
   for panel_impl in self.get_display_panels():
 panel_impl.redraw()
-
-
-import nyx.panel.graph
-import nyx.panel.log
diff --git a/nyx/panel/__init__.py b/nyx/panel/__init__.py
index 5714db4..49c7e22 100644
--- a/nyx/panel/__init__.py
+++ b/nyx/panel/__init__.py
@@ -21,6 +21,7 @@ Panels consisting the nyx interface.
 |- get_height - height occupied by the panel
 |
 |- set_visible - toggles panel visiblity
+|- set_paused - notified when interface pauses or unpauses
 |- key_handlers - keyboard input accepted by the panel
 |- submenu - submenu for the panel
 +- redraw - renders the panel content
@@ -133,6 +134,15 @@ class Panel(object):
 
 self._visible = is_visible
 
+  def set_paused(self, is_pause):
+"""
+Notified when the interface pauses or unpauses.
+
+:param bool is_pause: suspended if **True**, resumed otherwise
+"""
+
+pass
+
   def key_handlers(self):
 """
 Provides keyboard input this panel supports.
diff --git a/nyx/panel/connection.py b/nyx/panel/connection.py
index f8c3a7d..cabba2d 100644
--- a/nyx/panel/connection.py
+++ b/nyx/panel/connection.py
@@ -265,6 +265,7 @@ class ConnectionPanel(nyx.panel.DaemonPanel):
 self._entries = []# last fetched display entries
 self._show_details = False# presents the details panel if true
 self._sort_order = CONFIG['features.connection.order']
+self._pause_time = 0
 
 self._last_resource_fetch = -1  # timestamp of the last ConnectionResolver 
results used
 
@@ -308,6 +309,10 @@ class ConnectionPanel(nyx.panel.DaemonPanel):
   self._sort_order = results
   self._entries = sorted(self._entries, key = lambda entry: 
[entry.sort_value(attr) for attr in self._sort_order])
 
+  def set_paused(self, is_pause):
+if is_pause:
+  self._pause_time = time.time()
+
   def key_handlers(self):
 def _scroll(key):
   page_height = self.get_height() - 1
@@ -426,7 +431,7 @@ class ConnectionPanel(nyx.panel.DaemonPanel):
 selected, scroll = self._scroller.selection(lines, subwindow.height - 
details_offset - 1)
 
 if interface.is_paused():
-  current_time = interface.get_pause_time()
+  current_time = self._pause_time()
 elif not controller.is_alive():
   current_time = controller.connection_time()
 else:
diff --git a/nyx/panel/graph.py b/nyx/panel/graph.py
index 76d4bfa..5266e3f 100644
--- a/nyx/panel/graph.py
+++ b/nyx/panel/graph.py
@@ -498,6 +498,11 @@ class GraphPanel(nyx.panel.Panel):
   finally:
 

[tor-commits] [nyx/master] Move quit and halt methods

2016-09-16 Thread atagar
commit 6a30efb8f330305ca8c354c36483e9b5b1bfe77d
Author: Damian Johnson 
Date:   Tue Sep 13 10:45:38 2016 -0700

Move quit and halt methods

Simply moving a couple of our methods used to terminate the application.
---
 nyx/__init__.py   | 33 -
 nyx/controller.py | 24 ++--
 2 files changed, 34 insertions(+), 23 deletions(-)

diff --git a/nyx/__init__.py b/nyx/__init__.py
index 2ca58fe..c5e24c1 100644
--- a/nyx/__init__.py
+++ b/nyx/__init__.py
@@ -24,12 +24,16 @@ Tor curses monitoring application.
 |- get_daemon_panels - provides daemon panels
 |
 |- is_paused - checks if the interface is paused
-+- set_paused - sets paused state
+|- set_paused - sets paused state
+|
+|- quit - quits our application
++- halt - stops daemon panels
 """
 
 import distutils.spawn
 import os
 import sys
+import threading
 
 import stem.connection
 import stem.control
@@ -228,6 +232,7 @@ class Interface(object):
   def __init__(self):
 self._page = 0
 self._paused = False
+self._quit = False
 
   def get_page(self):
 """
@@ -325,4 +330,30 @@ class Interface(object):
   for panel_impl in self.get_page_panels():
 panel_impl.redraw()
 
+  def quit(self):
+"""
+Quits our application.
+"""
+
+self._quit = True
+
+  def halt(self):
+"""
+Stops curses panels in our interface.
+
+:returns: **threading.Thread** terminating daemons
+"""
+
+def halt_panels():
+  for panel_impl in self.get_daemon_panels():
+panel_impl.stop()
+
+  for panel_impl in self.get_daemon_panels():
+panel_impl.join()
+
+halt_thread = threading.Thread(target = halt_panels)
+halt_thread.start()
+return halt_thread
+
+
 import nyx.panel
diff --git a/nyx/controller.py b/nyx/controller.py
index a50f2d4..7358383 100644
--- a/nyx/controller.py
+++ b/nyx/controller.py
@@ -7,7 +7,6 @@ user input to the proper panels.
 """
 
 import time
-import threading
 
 import nyx.curses
 import nyx.menu
@@ -106,13 +105,13 @@ class Controller(Interface):
 
 self._page_panels = []
 self._header_panel = None
-self.quit_signal = False
 self._force_redraw = False
 self._last_drawn = 0
 
 NYX_CONTROLLER = self
 
 self._header_panel = nyx.panel.header.HeaderPanel()
+first_page_panels = []
 
 if CONFIG['features.panels.show.graph']:
   first_page_panels.append(nyx.panel.graph.GraphPanel())
@@ -181,25 +180,6 @@ class Controller(Interface):
 if force:
   self._last_drawn = current_time
 
-  def quit(self):
-self.quit_signal = True
-
-  def halt(self):
-"""
-Halts curses panels, providing back the thread doing so.
-"""
-
-def halt_panels():
-  for panel_impl in self.get_daemon_panels():
-panel_impl.stop()
-
-  for panel_impl in self.get_daemon_panels():
-panel_impl.join()
-
-halt_thread = threading.Thread(target = halt_panels)
-halt_thread.start()
-return halt_thread
-
 
 def start_nyx():
   """
@@ -230,7 +210,7 @@ def start_nyx():
 
   override_key = None  # uses this rather than waiting on user input
 
-  while not interface.quit_signal:
+  while not interface._quit:
 display_panels = [interface.header_panel()] + interface.get_page_panels()
 
 # sets panel visability



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [nyx/master] Pressing 'x' to confirm reload didn't work

2016-09-16 Thread atagar
commit 4c4f07704ed2832ea4fa022723fc36f46a9c1b09
Author: Damian Johnson 
Date:   Fri Sep 9 10:54:20 2016 -0700

Pressing 'x' to confirm reload didn't work

We expected the confirmation_key to be an integer but it was actually a
KeyInput, causing the check to always evaluate to false.
---
 nyx/controller.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nyx/controller.py b/nyx/controller.py
index bf7a22d..00bd504 100644
--- a/nyx/controller.py
+++ b/nyx/controller.py
@@ -410,7 +410,7 @@ def start_nyx():
   msg = "This will reset Tor's internal state. Are you sure (x again to 
confirm)?"
   confirmation_key = show_message(msg, BOLD, max_wait = 30)
 
-  if confirmation_key in (ord('x'), ord('X')):
+  if confirmation_key.match('x'):
 try:
   tor_controller().signal(stem.Signal.RELOAD)
 except IOError as exc:



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [nyx/master] Start Interface class, moving pause methods

2016-09-16 Thread atagar
commit 89f8218031de2fce3863fe151c26320317ab4656
Author: Damian Johnson 
Date:   Mon Sep 12 09:50:32 2016 -0700

Start Interface class, moving pause methods

Starting a gradual migration of our Controller class into the Interface,
rewritting this sucker as we go. Doing this as a Controller subclass so 
things
continue to work as we move.
---
 nyx/__init__.py   | 71 +++
 nyx/controller.py | 53 -
 2 files changed, 75 insertions(+), 49 deletions(-)

diff --git a/nyx/__init__.py b/nyx/__init__.py
index 1ffd4b0..268c4ba 100644
--- a/nyx/__init__.py
+++ b/nyx/__init__.py
@@ -3,11 +3,27 @@
 
 """
 Tor curses monitoring application.
+
+::
+
+  nyx_interface - nyx interface singleton
+  tor_controller - tor connection singleton
+
+  init_controller - initializes our connection to tor
+  expand_path - expands path with respect to our chroot
+  join - joins a series of strings up to a set length
+  msg - string from our configuration
+
+  Interface - overall nyx interface
+|- is_paused - checks if the interface is paused
+|- pause_time - time when the interface was paused
++- set_paused - sets paused state
 """
 
 import distutils.spawn
 import os
 import sys
+import time
 
 import stem.connection
 import stem.control
@@ -196,3 +212,58 @@ def msg(message, config, **attr):
 
 stem.util.log.notice(msg)
 return ''
+
+
+class Interface(object):
+  """
+  Overall state of the nyx interface.
+  """
+
+  def __init__(self):
+self._paused = False
+self._pause_time = None
+
+  def is_paused(self):
+"""
+Checks if the interface is configured to be paused.
+
+:returns: **True** if the interface is paused, **False** otherwise
+"""
+
+return self._paused
+
+  def get_pause_time(self):
+"""
+Provides the time that we were last paused.
+
+:returns: **float** with the unix timestamp for when we were last paused,
+  **None** if not paused
+"""
+
+return self._pause_time
+
+  def set_paused(self, is_pause):
+"""
+Pauses or unpauses the interface.
+
+:param bool is_pause: suspends the interface if **True**, resumes it
+  otherwise
+"""
+
+if is_pause != self._paused:
+  self._paused = is_pause
+  self._pause_time = time.time() if is_pause else None
+
+  # Couple panels have their own pausing behavior. I'll later change this 
to
+  # a listener approach or someting else that's less hacky.
+
+  for panel_impl in self.get_all_panels():
+if isinstance(panel_impl, nyx.panel.graph.GraphPanel) or 
isinstance(panel_impl, nyx.panel.log.LogPanel):
+  panel_impl.set_paused(is_pause)
+
+  for panel_impl in self.get_display_panels():
+panel_impl.redraw()
+
+
+import nyx.panel.graph
+import nyx.panel.log
diff --git a/nyx/controller.py b/nyx/controller.py
index 4a3825f..42553b4 100644
--- a/nyx/controller.py
+++ b/nyx/controller.py
@@ -27,7 +27,7 @@ import stem
 from stem.util import conf, log
 
 from nyx.curses import BOLD
-from nyx import tor_controller
+from nyx import Interface, tor_controller
 
 
 NYX_CONTROLLER = None
@@ -87,7 +87,7 @@ def input_prompt(msg, initial_value = ''):
   return user_input
 
 
-class Controller(object):
+class Controller(Interface):
   """
   Tracks the global state of the interface
   """
@@ -98,12 +98,12 @@ class Controller(object):
 top to bottom on the page.
 """
 
+super(Controller, self).__init__()
+
 self._page_panels = []
 self._header_panel = None
 self.quit_signal = False
 self._page = 0
-self._paused = False
-self._pause_time = -1
 self._force_redraw = False
 self._last_drawn = 0
 
@@ -134,8 +134,6 @@ class Controller(object):
 
 self.quit_signal = False
 self._page = 0
-self._paused = False
-self._pause_time = -1
 self._force_redraw = False
 self._last_drawn = 0
 
@@ -184,49 +182,6 @@ class Controller(object):
 
 self.set_page((self._page - 1) % len(self._page_panels))
 
-  def is_paused(self):
-"""
-Provides if the interface is configured to be paused or not.
-
-:returns: **True** if the interface is paused and **False** otherwise
-"""
-
-return self._paused
-
-  def set_paused(self, is_pause):
-"""
-Pauses or unpauses the interface.
-
-:param bool is_pause: suspends the interface if **True**, resumes it
-  otherwise
-"""
-
-if is_pause != self._paused:
-  if is_pause:
-self._pause_time = time.time()
-
-  # Couple panels have their own pausing behavior. I'll later change this 
to
-  # a listener approach or someting else that's less hacky.
-
-  for panel_impl in self.get_all_panels():
-if isinstance(panel_impl, nyx.panel.graph.GraphPanel) or 
isinstance(panel_impl, nyx.panel.log.LogPanel):
-  panel_impl.set_paused(is_pause)
-
-  self._paused = is_pause
-
-  for panel_impl 

[tor-commits] [nyx/master] Replace get_panels() with iterator

2016-09-16 Thread atagar
commit 320baf839270e1e4c4d2d777fdc4f403272dd3d4
Author: Damian Johnson 
Date:   Thu Sep 15 12:30:28 2016 -0700

Replace get_panels() with iterator

This is only used internally, and makes sense that iterating over the 
interface
would give you the panels.
---
 nyx/__init__.py   | 40 
 nyx/controller.py | 12 ++--
 2 files changed, 22 insertions(+), 30 deletions(-)

diff --git a/nyx/__init__.py b/nyx/__init__.py
index 91225b8..dc4d3e5 100644
--- a/nyx/__init__.py
+++ b/nyx/__init__.py
@@ -19,7 +19,6 @@ Tor curses monitoring application.
 |- set_page - sets the page we're showing
 |- page_count - pages within our interface
 |
-|- get_panels - provides all panels
 |- get_page_panels - provides panels on a page
 |- get_daemon_panels - provides daemon panels
 |
@@ -269,20 +268,6 @@ class Interface(object):
 
 return len(self._page_panels)
 
-  def get_panels(self):
-"""
-Provides all panels in the interface.
-
-:returns: **list** with panels in the interface
-"""
-
-all_panels = [self._header_panel]
-
-for page in self._page_panels:
-  all_panels += list(page)
-
-return all_panels
-
   def get_page_panels(self, page_number = None):
 """
 Provides panels belonging to a page, ordered top to bottom.
@@ -302,7 +287,7 @@ class Interface(object):
 :returns: **list** of DaemonPanel in the interface
 """
 
-return [panel for panel in self.get_panels() if isinstance(panel, 
nyx.panel.DaemonPanel)]
+return [panel for panel in self if isinstance(panel, 
nyx.panel.DaemonPanel)]
 
   def is_paused(self):
 """
@@ -324,11 +309,11 @@ class Interface(object):
 if is_pause != self._paused:
   self._paused = is_pause
 
-  for panel_impl in self.get_panels():
-panel_impl.set_paused(is_pause)
+  for panel in self:
+panel.set_paused(is_pause)
 
-  for panel_impl in self.get_page_panels():
-panel_impl.redraw()
+  for panel in self.get_page_panels():
+panel.redraw()
 
   def redraw(self, force = True):
 """
@@ -365,15 +350,22 @@ class Interface(object):
 """
 
 def halt_panels():
-  for panel_impl in self.get_daemon_panels():
-panel_impl.stop()
+  for panel in self.get_daemon_panels():
+panel.stop()
 
-  for panel_impl in self.get_daemon_panels():
-panel_impl.join()
+  for panel in self.get_daemon_panels():
+panel.join()
 
 halt_thread = threading.Thread(target = halt_panels)
 halt_thread.start()
 return halt_thread
 
+  def __iter__(self):
+yield self._header_panel
+
+for page in self._page_panels:
+  for panel in page:
+yield panel
+
 
 import nyx.panel
diff --git a/nyx/controller.py b/nyx/controller.py
index 6dd1b09..201dec4 100644
--- a/nyx/controller.py
+++ b/nyx/controller.py
@@ -151,8 +151,8 @@ def start_nyx():
 
   # tells daemon panels to start
 
-  for panel_impl in interface.get_daemon_panels():
-panel_impl.start()
+  for panel in interface.get_daemon_panels():
+panel.start()
 
   # logs the initialization time
 
@@ -167,8 +167,8 @@ def start_nyx():
 
 # sets panel visability
 
-for panel_impl in interface.get_panels():
-  panel_impl.set_visible(panel_impl in display_panels)
+for panel in interface:
+  panel.set_visible(panel in display_panels)
 
 interface.redraw()
 
@@ -216,6 +216,6 @@ def start_nyx():
 elif key.match('h'):
   override_key = nyx.popups.show_help()
 else:
-  for panel_impl in display_panels:
-for keybinding in panel_impl.key_handlers():
+  for panel in display_panels:
+for keybinding in panel.key_handlers():
   keybinding.handle(key)



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [nyx/master] Merge Controller init methods

2016-09-16 Thread atagar
commit 8a83598d588b2a58da7cfd852c107bb925233835
Author: Damian Johnson 
Date:   Tue Sep 13 10:34:21 2016 -0700

Merge Controller init methods

I really hate the two stage init() we hacked in to account for panels 
calling
get_controller(). This is a hack too, but little cleaner for our init to 
simply
set the singleton.
---
 nyx/controller.py | 17 ++---
 1 file changed, 6 insertions(+), 11 deletions(-)

diff --git a/nyx/controller.py b/nyx/controller.py
index 63aa13c..a50f2d4 100644
--- a/nyx/controller.py
+++ b/nyx/controller.py
@@ -60,6 +60,9 @@ def get_controller():
   Provides the nyx controller instance.
   """
 
+  if NYX_CONTROLLER is None:
+Controller()  # constructor sets NYX_CONTROLLER
+
   return NYX_CONTROLLER
 
 
@@ -98,6 +101,7 @@ class Controller(Interface):
 top to bottom on the page.
 """
 
+global NYX_CONTROLLER
 super(Controller, self).__init__()
 
 self._page_panels = []
@@ -106,9 +110,9 @@ class Controller(Interface):
 self._force_redraw = False
 self._last_drawn = 0
 
-  def init(self):
+NYX_CONTROLLER = self
+
 self._header_panel = nyx.panel.header.HeaderPanel()
-first_page_panels = []
 
 if CONFIG['features.panels.show.graph']:
   first_page_panels.append(nyx.panel.graph.GraphPanel())
@@ -131,11 +135,6 @@ class Controller(Interface):
 if CONFIG['features.panels.show.interpreter']:
   self._page_panels.append([nyx.panel.interpreter.InterpreterPanel()])
 
-self.quit_signal = False
-self._page = 0
-self._force_redraw = False
-self._last_drawn = 0
-
   def header_panel(self):
 return self._header_panel
 
@@ -207,10 +206,6 @@ def start_nyx():
   Main draw loop context.
   """
 
-  global NYX_CONTROLLER
-
-  NYX_CONTROLLER = Controller()
-  NYX_CONTROLLER.init()
   interface = get_controller()
 
   if not CONFIG['features.acsSupport']:



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [nyx/master] Move redraw method

2016-09-16 Thread atagar
commit 66e34c28ca1c02a526c4a427e37955d25a3487cc
Author: Damian Johnson 
Date:   Thu Sep 15 10:10:28 2016 -0700

Move redraw method

Moving our redraw() method to the Interface with a couple simplifications...

* The only time we ever call a panel's set_height() is for rendering, so 
that
  might as well just be a render() argument.

* Since we started doing forced rendering by default 'features.refreshRate'
  and self._force_redraw are no longer doing anything. We may go back to 
this
  in the future but for now might as well just drop them it.
---
 nyx/__init__.py   | 22 +-
 nyx/controller.py | 48 
 nyx/panel/__init__.py | 16 +---
 nyxrc.sample  |  5 -
 4 files changed, 26 insertions(+), 65 deletions(-)

diff --git a/nyx/__init__.py b/nyx/__init__.py
index c5e24c1..91225b8 100644
--- a/nyx/__init__.py
+++ b/nyx/__init__.py
@@ -26,6 +26,7 @@ Tor curses monitoring application.
 |- is_paused - checks if the interface is paused
 |- set_paused - sets paused state
 |
+|- redraw - renders our content
 |- quit - quits our application
 +- halt - stops daemon panels
 """
@@ -257,7 +258,6 @@ class Interface(object):
 
 if page_number != self._page:
   self._page = page_number
-  self._force_redraw = True
   self.header_panel().redraw()
 
   def page_count(self):
@@ -330,6 +330,26 @@ class Interface(object):
   for panel_impl in self.get_page_panels():
 panel_impl.redraw()
 
+  def redraw(self, force = True):
+"""
+Renders our displayed content.
+
+:param bool force: if **False** only redraws content if resized
+"""
+
+# Curses may overly cache content without clearing here...
+# https://trac.torproject.org/projects/tor/ticket/2830#comment:9
+
+if force:
+  with nyx.curses.raw_screen() as stdscr:
+stdscr.clear()
+
+occupied = 0
+
+for panel in [self.header_panel()] + self.get_page_panels():
+  panel.redraw(force = force, top = occupied)
+  occupied += panel.get_height()
+
   def quit(self):
 """
 Quits our application.
diff --git a/nyx/controller.py b/nyx/controller.py
index 7358383..6dd1b09 100644
--- a/nyx/controller.py
+++ b/nyx/controller.py
@@ -35,8 +35,6 @@ NYX_CONTROLLER = None
 def conf_handler(key, value):
   if key == 'features.redrawRate':
 return max(1, value)
-  elif key == 'features.refreshRate':
-return max(0, value)
 
 
 CONFIG = conf.config_dict('nyx', {
@@ -48,7 +46,6 @@ CONFIG = conf.config_dict('nyx', {
   'features.panels.show.torrc': True,
   'features.panels.show.interpreter': True,
   'features.redrawRate': 5,
-  'features.refreshRate': 5,
   'features.confirmQuit': True,
   'start_time': 0,
 }, conf_handler)
@@ -105,8 +102,6 @@ class Controller(Interface):
 
 self._page_panels = []
 self._header_panel = None
-self._force_redraw = False
-self._last_drawn = 0
 
 NYX_CONTROLLER = self
 
@@ -137,49 +132,6 @@ class Controller(Interface):
   def header_panel(self):
 return self._header_panel
 
-  def redraw(self, force = True):
-"""
-Redraws the displayed panel content.
-
-Arguments:
-  force - redraws regardless of if it's needed if true, otherwise ignores
-  the request when there aren't changes to be displayed
-"""
-
-force |= self._force_redraw
-self._force_redraw = False
-
-current_time = time.time()
-
-if CONFIG['features.refreshRate'] != 0:
-  if self._last_drawn + CONFIG['features.refreshRate'] <= current_time:
-force = True
-
-display_panels = [self.header_panel()] + self.get_page_panels()
-
-occupied_content = 0
-
-for panel_impl in display_panels:
-  panel_impl.set_top(occupied_content)
-  height = panel_impl.get_height()
-
-  if height:
-occupied_content += height
-
-# apparently curses may cache display contents unless we explicitely
-# request a redraw here...
-# https://trac.torproject.org/projects/tor/ticket/2830#comment:9
-
-if force:
-  with nyx.curses.raw_screen() as stdscr:
-stdscr.clear()
-
-for panel_impl in display_panels:
-  panel_impl.redraw(force = force)
-
-if force:
-  self._last_drawn = current_time
-
 
 def start_nyx():
   """
diff --git a/nyx/panel/__init__.py b/nyx/panel/__init__.py
index 49c7e22..24ffadf 100644
--- a/nyx/panel/__init__.py
+++ b/nyx/panel/__init__.py
@@ -17,7 +17,6 @@ Panels consisting the nyx interface.
 |  +- stop - stops triggering daemon actions
 |
 |- get_top - top position we're rendered into on the screen
-|- set_top - sets top position within the screen
 |- get_height - height occupied by the panel
 |
 |- set_visible - toggles panel visiblity
@@ -107,15 +106,6 @@ class Panel(object):
 
 return self._top
 
-  def set_top(self, top):
-"""
-Changes the position where 

[tor-commits] [nyx/master] nyx_interface() alias

2016-09-16 Thread atagar
commit 40781c080f7a82010b5c1efed55d59d00e6d0881
Author: Damian Johnson 
Date:   Sat Sep 10 12:22:06 2016 -0700

nyx_interface() alias

Aliasing nyx.control.get_controller() to nyx_interface(). This will later be
the home for thsi code but for now it's just a terminology change. I'm 
renaming
this because we had two 'controllers' for both nyx and tor. With this we now
work with nyx's 'interface' instead.
---
 nyx/__init__.py | 11 +++
 nyx/menu.py | 26 +-
 nyx/panel/__init__.py   |  7 +++
 nyx/panel/connection.py |  9 -
 nyx/panel/graph.py  | 16 ++--
 nyx/panel/header.py | 12 ++--
 nyx/panel/log.py|  5 ++---
 nyx/popups.py   | 10 +-
 nyx/starter.py  |  8 
 test/panel/header.py| 18 +-
 test/popups.py  |  6 +++---
 11 files changed, 66 insertions(+), 62 deletions(-)

diff --git a/nyx/__init__.py b/nyx/__init__.py
index f2c62f4..1ffd4b0 100644
--- a/nyx/__init__.py
+++ b/nyx/__init__.py
@@ -81,6 +81,17 @@ def main():
 sys.exit(1)
 
 
+def nyx_interface():
+  """
+  Singleton controller for our interface.
+
+  :returns: :class:`~nyx.Interface` controller
+  """
+
+  import nyx.controller
+  return nyx.controller.get_controller()
+
+
 def tor_controller():
   """
   Singleton for getting our tor controller connection.
diff --git a/nyx/menu.py b/nyx/menu.py
index 8c60be9..2a5af98 100644
--- a/nyx/menu.py
+++ b/nyx/menu.py
@@ -13,7 +13,7 @@ import nyx.popups
 
 import stem
 
-from nyx import tor_controller
+from nyx import nyx_interface, tor_controller
 from nyx.curses import RED, WHITE, NORMAL, BOLD, UNDERLINE
 from stem.util import str_tools
 
@@ -211,7 +211,7 @@ def show_menu():
   selection_x = _draw_top_menubar(menu, cursor.selection)
   _draw_submenu(cursor.selection, cursor.selection.submenu, 1, selection_x)
   cursor.handle_key(nyx.curses.key_input())
-  nyx.controller.get_controller().redraw()
+  nyx_interface().redraw()
 
 nyx.controller.show_message()
 
@@ -221,26 +221,26 @@ def _make_menu():
   Constructs the base menu and all of its contents.
   """
 
-  nyx_controller = nyx.controller.get_controller()
+  interface = nyx_interface()
 
-  if not nyx_controller.is_paused():
-pause_item = MenuItem('Pause', nyx_controller.set_paused, True)
+  if not interface.is_paused():
+pause_item = MenuItem('Pause', interface.set_paused, True)
   else:
-pause_item = MenuItem('Unpause', nyx_controller.set_paused, False)
+pause_item = MenuItem('Unpause', interface.set_paused, False)
 
   root_menu = Submenu('')
 
   root_menu.add(Submenu('Actions', [
 MenuItem('Close Menu', None),
-MenuItem('New Identity', nyx_controller.header_panel().send_newnym),
+MenuItem('New Identity', interface.header_panel().send_newnym),
 MenuItem('Reset Tor', tor_controller().signal, stem.Signal.RELOAD),
 pause_item,
-MenuItem('Exit', nyx_controller.quit),
+MenuItem('Exit', interface.quit),
   ]))
 
   root_menu.add(_view_menu())
 
-  for panel in nyx_controller.get_display_panels():
+  for panel in interface.get_display_panels():
 submenu = panel.submenu()
 
 if submenu:
@@ -264,13 +264,13 @@ def _view_menu():
 Color (Submenu)
   """
 
-  nyx_controller = nyx.controller.get_controller()
+  interface = nyx_interface()
 
   view_menu = Submenu('View')
-  page_group = RadioGroup(nyx_controller.set_page, nyx_controller.get_page())
+  page_group = RadioGroup(interface.set_page, interface.get_page())
 
-  for i in range(nyx_controller.get_page_count()):
-page_panels = nyx_controller.get_display_panels(page_number = i)
+  for i in range(interface.get_page_count()):
+page_panels = interface.get_display_panels(page_number = i)
 label = ' / '.join([type(panel).__name__.replace('Panel', '') for panel in 
page_panels])
 view_menu.add(RadioMenuItem(label, page_group, i))
 
diff --git a/nyx/panel/__init__.py b/nyx/panel/__init__.py
index 18a66ce..5714db4 100644
--- a/nyx/panel/__init__.py
+++ b/nyx/panel/__init__.py
@@ -33,6 +33,8 @@ import time
 
 import nyx.curses
 
+from nyx import nyx_interface
+
 __all__ = [
   'config',
   'connection',
@@ -195,13 +197,10 @@ class DaemonPanel(Panel, threading.Thread):
 Performs our _update() action at the given rate.
 """
 
-import nyx.controller
-
 last_ran = -1
-nyx_controller = nyx.controller.get_controller()
 
 while not self._halt:
-  if nyx_controller.is_paused() or (time.time() - last_ran) < 
self._update_rate:
+  if nyx_interface().is_paused() or (time.time() - last_ran) < 
self._update_rate:
 with self._pause_condition:
   if not self._halt:
 self._pause_condition.wait(0.2)
diff --git a/nyx/panel/connection.py b/nyx/panel/connection.py
index 16175d9..f8c3a7d 100644
--- a/nyx/panel/connection.py
+++ b/nyx/panel/connection.py
@@ -11,15 +11,14 @@ 

[tor-commits] [nyx/master] Reload signals caught wrong exception type

2016-09-16 Thread atagar
commit 22c1ce6a0dcdde915f8347bfe60149e76cc1e37e
Author: Damian Johnson 
Date:   Fri Sep 9 10:59:43 2016 -0700

Reload signals caught wrong exception type

Stem's signal() method raises ControllerErrors, not IOErrors.
---
 nyx/controller.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nyx/controller.py b/nyx/controller.py
index 00bd504..4a3825f 100644
--- a/nyx/controller.py
+++ b/nyx/controller.py
@@ -413,7 +413,7 @@ def start_nyx():
   if confirmation_key.match('x'):
 try:
   tor_controller().signal(stem.Signal.RELOAD)
-except IOError as exc:
+except stem.ControllerError as exc:
   log.error('Error detected when reloading tor: %s' % exc.strerror)
 elif key.match('h'):
   override_key = nyx.popups.show_help()



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [nyx/master] Move page methods to Interface

2016-09-16 Thread atagar
commit 738cdd92c249f3bb951f2e072d0ac4c0b2aca03d
Author: Damian Johnson 
Date:   Tue Sep 13 10:01:42 2016 -0700

Move page methods to Interface

Pretty direct move. Renaming get_page_count() and dropping next_page() and
prev_page() but otherwise just cut-and-paste.
---
 nyx/__init__.py  | 40 
 nyx/controller.py| 64 
 nyx/menu.py  |  2 +-
 nyx/panel/header.py  |  2 +-
 test/panel/header.py |  4 ++--
 5 files changed, 53 insertions(+), 59 deletions(-)

diff --git a/nyx/__init__.py b/nyx/__init__.py
index 4a031c7..c7a9b47 100644
--- a/nyx/__init__.py
+++ b/nyx/__init__.py
@@ -15,6 +15,10 @@ Tor curses monitoring application.
   msg - string from our configuration
 
   Interface - overall nyx interface
+|- get_page - page we're showing
+|- set_page - sets the page we're showing
+|- page_count - pages within our interface
+|
 |- is_paused - checks if the interface is paused
 +- set_paused - sets paused state
 """
@@ -218,8 +222,44 @@ class Interface(object):
   """
 
   def __init__(self):
+self._page = 0
 self._paused = False
 
+  def get_page(self):
+"""
+Provides the page we're showing.
+
+:return: **int** of the page we're showing
+"""
+
+return self._page
+
+  def set_page(self, page_number):
+"""
+Sets the selected page.
+
+:param int page_number: page to be shown
+
+:raises: **ValueError** if the page_number is invalid
+"""
+
+if page_number < 0 or page_number >= self.page_count():
+  raise ValueError('Invalid page number: %i' % page_number)
+
+if page_number != self._page:
+  self._page = page_number
+  self._force_redraw = True
+  self.header_panel().redraw()
+
+  def page_count(self):
+"""
+Provides the number of pages the interface has.
+
+:returns: **int** number of pages in the interface
+"""
+
+return len(self._page_panels)
+
   def is_paused(self):
 """
 Checks if the interface is configured to be paused.
diff --git a/nyx/controller.py b/nyx/controller.py
index 42553b4..8e1f6f3 100644
--- a/nyx/controller.py
+++ b/nyx/controller.py
@@ -103,7 +103,6 @@ class Controller(Interface):
 self._page_panels = []
 self._header_panel = None
 self.quit_signal = False
-self._page = 0
 self._force_redraw = False
 self._last_drawn = 0
 
@@ -137,51 +136,6 @@ class Controller(Interface):
 self._force_redraw = False
 self._last_drawn = 0
 
-  def get_page_count(self):
-"""
-Provides the number of pages the interface has. This may be zero if all
-page panels have been disabled.
-"""
-
-return len(self._page_panels)
-
-  def get_page(self):
-"""
-Provides the number belonging to this page. Page numbers start at zero.
-"""
-
-return self._page
-
-  def set_page(self, page_number):
-"""
-Sets the selected page, raising a ValueError if the page number is invalid.
-
-Arguments:
-  page_number - page number to be selected
-"""
-
-if page_number < 0 or page_number >= self.get_page_count():
-  raise ValueError('Invalid page number: %i' % page_number)
-
-if page_number != self._page:
-  self._page = page_number
-  self._force_redraw = True
-  self.header_panel().redraw()
-
-  def next_page(self):
-"""
-Increments the page number.
-"""
-
-self.set_page((self._page + 1) % len(self._page_panels))
-
-  def prev_page(self):
-"""
-Decrements the page number.
-"""
-
-self.set_page((self._page - 1) % len(self._page_panels))
-
   def header_panel(self):
 return self._header_panel
 
@@ -295,7 +249,7 @@ def start_nyx():
 
   NYX_CONTROLLER = Controller()
   NYX_CONTROLLER.init()
-  control = get_controller()
+  interface = get_controller()
 
   if not CONFIG['features.acsSupport']:
 nyx.curses.disable_acs()
@@ -308,7 +262,7 @@ def start_nyx():
 
   # tells daemon panels to start
 
-  for panel_impl in control.get_daemon_panels():
+  for panel_impl in interface.get_daemon_panels():
 panel_impl.start()
 
   # logs the initialization time
@@ -319,15 +273,15 @@ def start_nyx():
 
   override_key = None  # uses this rather than waiting on user input
 
-  while not control.quit_signal:
-display_panels = [control.header_panel()] + control.get_display_panels()
+  while not interface.quit_signal:
+display_panels = [interface.header_panel()] + 
interface.get_display_panels()
 
 # sets panel visability
 
-for panel_impl in control.get_all_panels():
+for panel_impl in interface.get_all_panels():
   panel_impl.set_visible(panel_impl in display_panels)
 
-control.redraw()
+interface.redraw()
 
 with nyx.curses.raw_screen() as stdscr:
   stdscr.refresh()
@@ -340,11 +294,11 @@ def start_nyx():
   key = nyx.curses.key_input(CONFIG['features.redrawRate'])
 
 if key.match('right'):
-