tux-droid-svn Mailing List for Tux Droid CE (Page 7)
Status: Beta
Brought to you by:
ks156
You can subscribe to this list here.
2007 |
Jan
|
Feb
(32) |
Mar
(108) |
Apr
(71) |
May
(38) |
Jun
(128) |
Jul
(1) |
Aug
(14) |
Sep
(77) |
Oct
(104) |
Nov
(90) |
Dec
(71) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(81) |
Feb
(18) |
Mar
(40) |
Apr
(102) |
May
(151) |
Jun
(74) |
Jul
(151) |
Aug
(257) |
Sep
(447) |
Oct
(379) |
Nov
(404) |
Dec
(430) |
2009 |
Jan
(173) |
Feb
(236) |
Mar
(519) |
Apr
(300) |
May
(112) |
Jun
(232) |
Jul
(314) |
Aug
(58) |
Sep
(203) |
Oct
(293) |
Nov
(26) |
Dec
(109) |
2010 |
Jan
(19) |
Feb
(25) |
Mar
(33) |
Apr
(1) |
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: jerome <c2m...@c2...> - 2009-12-08 14:56:53
|
Author: jerome Date: 2009-12-08 15:56:41 +0100 (Tue, 08 Dec 2009) New Revision: 5957 Modified: software_suite_v3/software/plugin/plugin-twitter/trunk/resources/de.po software_suite_v3/software/plugin/plugin-twitter/trunk/resources/en.po software_suite_v3/software/plugin/plugin-twitter/trunk/resources/fr.po software_suite_v3/software/plugin/plugin-twitter/trunk/resources/nl.po software_suite_v3/software/plugin/plugin-twitter/trunk/resources/plugin.pot Log: * Added new string entries. Modified: software_suite_v3/software/plugin/plugin-twitter/trunk/resources/de.po =================================================================== --- software_suite_v3/software/plugin/plugin-twitter/trunk/resources/de.po 2009-12-08 14:49:51 UTC (rev 5956) +++ software_suite_v3/software/plugin/plugin-twitter/trunk/resources/de.po 2009-12-08 14:56:41 UTC (rev 5957) @@ -124,18 +124,6 @@ msgid "Twitter is busy for now, please, try again later." msgstr "Twitter ist ausgelastet, versuchen Sie es später wieder." -msgid "One reply from {0}" -msgstr "Sie haben eine Antwort von {0}." - -msgid "{0} replies from {1}" -msgstr "Sie haben {0} Antworten von {1}." - -msgid "One message from {0}" -msgstr "Sie haben eine Nachricht von {0}." - -msgid "{0} messages from {1}" -msgstr "Sie haben {0} Nachrichten von {1}." - msgid "Sorry, there was an error when connecting to Twitter. Please check your Twitter configuration." msgstr "Sorry, Bei der Verbindung mit Twitter gab es einen Fehler. Prüfen Sie Ihre Twitter-Konfiguration." @@ -150,3 +138,27 @@ msgid "I could not connect to your Twitter. Make sure you entered your login and password correctly." msgstr "Keine Verbindung mit Ihrem Twitter möglich. Prüfen Sie die richtige Eingabe von Login und Kennwort." + +msgid "Message from {0}, {1}" +msgstr "" + +msgid "Reply from {0}, {1}" +msgstr "" + +msgid "Status update from {0}, {1}" +msgstr "" + +msgid "Read Tweets content" +msgstr "" + +msgid "You have a new message" +msgstr "" + +msgid "You have {0} messages" +msgstr "" + +msgid "You have a new reply" +msgstr "" + +msgid "You have {0} new replies" +msgstr "" Modified: software_suite_v3/software/plugin/plugin-twitter/trunk/resources/en.po =================================================================== --- software_suite_v3/software/plugin/plugin-twitter/trunk/resources/en.po 2009-12-08 14:49:51 UTC (rev 5956) +++ software_suite_v3/software/plugin/plugin-twitter/trunk/resources/en.po 2009-12-08 14:56:41 UTC (rev 5957) @@ -124,18 +124,6 @@ msgid "Twitter is busy for now, please, try again later." msgstr "Twitter is busy for now, please, try again later." -msgid "One reply from {0}" -msgstr "One reply from {0}." - -msgid "{0} replies from {1}" -msgstr "{0} replies from {1}." - -msgid "One message from {0}" -msgstr "One message from {0}." - -msgid "{0} messages from {1}" -msgstr "{0} messages from {1}." - msgid "Sorry, there was an error when connecting to Twitter. Please check your Twitter configuration." msgstr "Sorry, there was an error when connecting to Twitter. Please check your Twitter configuration." @@ -162,3 +150,15 @@ msgid "Read Tweets content" msgstr "Read Tweets content" + +msgid "You have a new message" +msgstr "You have a new message" + +msgid "You have {0} messages" +msgstr "You have {0} messages" + +msgid "You have a new reply" +msgstr "You have a new reply" + +msgid "You have {0} new replies" +msgstr "You have {0} new replies" Modified: software_suite_v3/software/plugin/plugin-twitter/trunk/resources/fr.po =================================================================== --- software_suite_v3/software/plugin/plugin-twitter/trunk/resources/fr.po 2009-12-08 14:49:51 UTC (rev 5956) +++ software_suite_v3/software/plugin/plugin-twitter/trunk/resources/fr.po 2009-12-08 14:56:41 UTC (rev 5957) @@ -124,18 +124,6 @@ msgid "Twitter is busy for now, please, try again later." msgstr "Twitter est occupé pour le moment, veuillez réessayer plus tard." -msgid "One reply from {0}" -msgstr "Une réponse de {0}" - -msgid "{0} replies from {1}" -msgstr "{0} réponses de {1} " - -msgid "One message from {0}" -msgstr "Un message de {0}" - -msgid "{0} messages from {1}" -msgstr "{0} messages de {1}" - msgid "Sorry, there was an error when connecting to Twitter. Please check your Twitter configuration." msgstr "Désolé, il y a eu une erreur lors de la connexion avec Twitter. Vérifiez votre login et votre mot de passe" @@ -162,3 +150,15 @@ msgid "Read Tweets content" msgstr "Lire le contenu des Tweets" + +msgid "You have a new message" +msgstr "Vous avez un nouveau message" + +msgid "You have {0} messages" +msgstr "Vous avez {0} nouveaux messages" + +msgid "You have a new reply" +msgstr "Vous avez une nouvelle réponse" + +msgid "You have {0} new replies" +msgstr "Vous avez {0} nouvelles réponses" Modified: software_suite_v3/software/plugin/plugin-twitter/trunk/resources/nl.po =================================================================== --- software_suite_v3/software/plugin/plugin-twitter/trunk/resources/nl.po 2009-12-08 14:49:51 UTC (rev 5956) +++ software_suite_v3/software/plugin/plugin-twitter/trunk/resources/nl.po 2009-12-08 14:56:41 UTC (rev 5957) @@ -124,18 +124,6 @@ msgid "Twitter is busy for now, please, try again later." msgstr "Twitter is bezet op het ogenblik, probeer later opnieuw." -msgid "One reply from {0}" -msgstr "Je hebt 1 antwoord van {0}" - -msgid "{0} replies from {1}" -msgstr "{0} antwoorden van {1}" - -msgid "One message from {0}" -msgstr "1 bericht van {0}" - -msgid "{0} messages from {1}" -msgstr "{0} berichten van {1}" - msgid "Sorry, there was an error when connecting to Twitter. Please check your Twitter configuration." msgstr "Sorry, ik kan geen connectie maken met Twitter. Controleer je configuratie of probeer later opnieuw." @@ -150,3 +138,27 @@ msgid "I could not connect to your Twitter. Make sure you entered your login and password correctly." msgstr "Ik kan geen verbinding maken met je Twitter. Controleer of je de correcte log-in en wacht woord hebt ingegeven." + +msgid "Message from {0}, {1}" +msgstr "" + +msgid "Reply from {0}, {1}" +msgstr "" + +msgid "Status update from {0}, {1}" +msgstr "" + +msgid "Read Tweets content" +msgstr "" + +msgid "You have a new message" +msgstr "" + +msgid "You have {0} messages" +msgstr "" + +msgid "You have a new reply" +msgstr "" + +msgid "You have {0} new replies" +msgstr "" Modified: software_suite_v3/software/plugin/plugin-twitter/trunk/resources/plugin.pot =================================================================== --- software_suite_v3/software/plugin/plugin-twitter/trunk/resources/plugin.pot 2009-12-08 14:49:51 UTC (rev 5956) +++ software_suite_v3/software/plugin/plugin-twitter/trunk/resources/plugin.pot 2009-12-08 14:56:41 UTC (rev 5957) @@ -124,18 +124,6 @@ msgid "Twitter is busy for now, please, try again later." msgstr "" -msgid "One reply from {0}" -msgstr "" - -msgid "{0} replies from {1}" -msgstr "" - -msgid "One message from {0}" -msgstr "" - -msgid "{0} messages from {1}" -msgstr "" - msgid "Sorry, there was an error when connecting to Twitter. Please check your Twitter configuration." msgstr "" @@ -162,3 +150,15 @@ msgid "Read Tweets content" msgstr "" + +msgid "You have a new message" +msgstr "" + +msgid "You have {0} messages" +msgstr "" + +msgid "You have a new reply" +msgstr "" + +msgid "You have {0} new replies" +msgstr "" |
From: jerome <c2m...@c2...> - 2009-12-08 14:50:09
|
Author: jerome Date: 2009-12-08 15:49:51 +0100 (Tue, 08 Dec 2009) New Revision: 5956 Modified: software_suite_v3/software/plugin/plugin-twitter/trunk/src/TwitterPlugin.java Log: * Changed the way to notify users fro messages, replies. Modified: software_suite_v3/software/plugin/plugin-twitter/trunk/src/TwitterPlugin.java =================================================================== --- software_suite_v3/software/plugin/plugin-twitter/trunk/src/TwitterPlugin.java 2009-12-08 14:17:40 UTC (rev 5955) +++ software_suite_v3/software/plugin/plugin-twitter/trunk/src/TwitterPlugin.java 2009-12-08 14:49:51 UTC (rev 5956) @@ -373,16 +373,23 @@ */ if (this.configuration().getCheckMessages()) { - if ( getPrivateMessagesCount(twitter) > 0 ) + int msCount = getPrivateMessagesCount(twitter); + if ( msCount > 0 ) { //First check insilent mode. if(this.getCommand().equalsIgnoreCase("run") || secondCycle) { if(!this.configuration().getReadTweets()) { - this.sort(this.messagesList); - //Counting by name and throwing messages. - this.getByNames(this.messagesList, MESSAGE); + this.throwRes(); + if(msCount == 1) + { + this.throwMessage("You have a new message"); + } + else + { + this.throwMessage("You have {0} messages", msCount); + } } else { @@ -407,18 +414,25 @@ throwMessage(pickSentence(noNewMessageSentences)); } } - + + int rpCount = getPublicMessagesCount(twitter); //Getting and sorting new user replies. - if ( getPublicMessagesCount(twitter) > 0 ) + if ( rpCount > 0 ) { //First check insilent mode. if(this.getCommand().equalsIgnoreCase("run") || secondCycle) { if(!this.configuration().getReadTweets()) { - this.sort(this.repliesList); - //Counting by name and throwing messages. - this.getByNames(this.repliesList, REPLY); + throwRes(); + if (rpCount == 1) + { + this.throwMessage("You have a new reply"); + } + else + { + this.throwMessage("You have {0} new replies", rpCount); + } } else { @@ -489,83 +503,7 @@ return list[rand.nextInt(list.length)]; } - /*** - * Sort a typ string list. - * @param list - */ - private void sort(List<String> list) - { - Collections.sort(list); - } - - /*** - * Throw messages by user names. - * @param list - */ - private void getByNames(List<String> list, byte type) - { - Vector<String> dtUsers = new Vector<String>(); - Vector<Integer> dtCount = new Vector<Integer>(); - int count = 1; - - //Handling no replies / no messages. - if (list.size() == 0) - { - return; - } - - //Counting by names. - for( int i = 0 ; i != list.size() ; i ++) - { - - if (dtUsers.contains(list.get(i))) - { - dtCount.set(dtUsers.indexOf(list.get(i)), dtCount.get(dtUsers.indexOf(list.get(i))) + 1); - } - else - { - dtUsers.add(list.get(i)); - dtCount.add(1); - } - - } - - if (dtUsers.size() > 0) - { - throwRes(); - } - - for(String it : dtUsers) - { - count = dtCount.get(dtUsers.indexOf(it)); - - if ( type == REPLY ) - { - if ( count == 1 ) - { - throwMessage("One reply from {0}", it); - } - else - { - throwMessage ("{0} replies from {1}", count, it); - } - } - else - { - if ( count == 1 ) - { - throwMessage("One message from {0}", it); - } - else - { - throwMessage("{0} messages from {1}", count, it); - } - } - } - } - - /** * Return true if the text value indicates that the message was sent from a user * to an other user , but not the TuxDroid owner. |
From: jerome <c2m...@c2...> - 2009-12-08 14:17:53
|
Author: jerome Date: 2009-12-08 15:17:40 +0100 (Tue, 08 Dec 2009) New Revision: 5955 Modified: software_suite_v3/software/plugin/plugin-twitter/trunk/src/Configuration.java software_suite_v3/software/plugin/plugin-twitter/trunk/src/TwitterPlugin.java Log: * Added 'read tweets' function. Modified: software_suite_v3/software/plugin/plugin-twitter/trunk/src/Configuration.java =================================================================== --- software_suite_v3/software/plugin/plugin-twitter/trunk/src/Configuration.java 2009-12-08 14:17:25 UTC (rev 5954) +++ software_suite_v3/software/plugin/plugin-twitter/trunk/src/Configuration.java 2009-12-08 14:17:40 UTC (rev 5955) @@ -33,6 +33,8 @@ private boolean checkFriends = true; private boolean checkMessages = true; + + private boolean readTweets = false; private String defaultUser = "your_user_name"; private String defaultPassword = "_secret_"; @@ -164,5 +166,25 @@ { return this.checkMessages; } + + + /** + * Set or not the read tweets option. + * @param. + */ + public void setReadTweets(boolean aReadTweets) + { + this.readTweets = aReadTweets; + } + + /** + * Return true if user want to read his tweets content. + * @return + */ + public boolean getReadTweets() + { + return this.readTweets; + } + } Modified: software_suite_v3/software/plugin/plugin-twitter/trunk/src/TwitterPlugin.java =================================================================== --- software_suite_v3/software/plugin/plugin-twitter/trunk/src/TwitterPlugin.java 2009-12-08 14:17:25 UTC (rev 5954) +++ software_suite_v3/software/plugin/plugin-twitter/trunk/src/TwitterPlugin.java 2009-12-08 14:17:40 UTC (rev 5955) @@ -21,6 +21,7 @@ import java.util.ArrayList; import java.util.Collections; +import java.util.Hashtable; import java.util.List; import java.util.Vector; import java.util.Random; @@ -41,6 +42,11 @@ private List<String> messagesList = new ArrayList<String>(); private List<String> repliesList = new ArrayList<String>(); + + //Pre-formated messages in case of read tweets content option enabled. + private Vector<Hashtable<String, String>> privateMessages = new Vector<Hashtable<String, String>>(); + private Vector<Hashtable<String, String>> publicMessages = new Vector<Hashtable<String, String>>(); + private Vector<Hashtable<String, String>> friendUpdates = new Vector<Hashtable<String, String>>(); private boolean throwed = false; @@ -165,6 +171,13 @@ statusesCount += 1; //Saving last entry. savedStruct.addFriendStatus(username, statusText); + + //Registering pre formated message. + Hashtable<String, String> hash = new Hashtable<String, String>(); + hash.put("name", username); + hash.put("value", stat); + //adding message to the list of private messages. + this.friendUpdates.add(hash); } } } @@ -188,6 +201,7 @@ private int getPrivateMessagesCount(Twitter twitter) { List<Message> messages = twitter.getDirectMessages(); + if(messages.size() > 0) { try @@ -203,6 +217,13 @@ { messagesList.add(username); savedStruct.addMessage(username, message.getText()); + + //Registering pre formated message. + Hashtable<String, String> hash = new Hashtable<String, String>(); + hash.put("name", username); + hash.put("value", message.getText()); + //adding message to the list of private messages. + this.privateMessages.add(hash); } } } @@ -239,6 +260,13 @@ { repliesList.add(username); savedStruct.addReply(username, reply.getText()); + + //Registering pre formated message. + Hashtable<String, String> hash = new Hashtable<String, String>(); + hash.put("name", username); + hash.put("value", reply.getText()); + //adding message to the list of private messages. + this.publicMessages.add(hash); } } @@ -303,17 +331,31 @@ //First check insilent mode. if(this.getCommand().equalsIgnoreCase("run") || secondCycle) { - - if ( updateCount == 1 ) + + if ((updateCount == 1) && (!this.configuration().getReadTweets())) { throwRes(); throwMessage(pickSentence(newSingleTweetSentences)); } - else if ( updateCount > 1 ) + else if ((updateCount > 1) && (!this.configuration().getReadTweets())) { throwRes(); throwMessage(pickSentence(newMultipleTweetSentences), String.valueOf(updateCount)); } + + else if(this.configuration().getReadTweets()) + { + throwRes(); + int i = 0; + while( i != this.friendUpdates.size()) + { + Hashtable<String, String> hash = this.friendUpdates.get( i ); + throwMessage("Status update from {0}, {1}", hash.get("name"), hash.get("value")); + i++; + } + this.friendUpdates.clear(); + } + else { if ( ! this.getCommand().equalsIgnoreCase("check") ) @@ -336,9 +378,26 @@ //First check insilent mode. if(this.getCommand().equalsIgnoreCase("run") || secondCycle) { - this.sort(this.messagesList); - //Counting by name and throwing messages. - this.getByNames(this.messagesList, MESSAGE); + if(!this.configuration().getReadTweets()) + { + this.sort(this.messagesList); + //Counting by name and throwing messages. + this.getByNames(this.messagesList, MESSAGE); + } + else + { + //Readong tweet content. + this.throwRes(); + + int i = 0; + while( i != this.privateMessages.size()) + { + Hashtable<String, String> hash = this.privateMessages.get( i ); + throwMessage("Message from {0}, {1}", hash.get("name"), hash.get("value")); + i++; + } + this.privateMessages.clear(); + } } } else @@ -355,9 +414,26 @@ //First check insilent mode. if(this.getCommand().equalsIgnoreCase("run") || secondCycle) { - this.sort(this.repliesList); - //Counting by name and throwing messages. - this.getByNames(this.repliesList, REPLY); + if(!this.configuration().getReadTweets()) + { + this.sort(this.repliesList); + //Counting by name and throwing messages. + this.getByNames(this.repliesList, REPLY); + } + else + { + //Reading tweet content. + this.throwRes(); + + int i = 0; + while( i != this.publicMessages.size()) + { + Hashtable<String, String> hash = this.publicMessages.get( i ); + throwMessage("Reply from {0}, {1}", hash.get("name"), hash.get("value")); + i++; + } + this.publicMessages.clear(); + } } } else |
From: jerome <c2m...@c2...> - 2009-12-08 14:17:43
|
Author: jerome Date: 2009-12-08 15:17:25 +0100 (Tue, 08 Dec 2009) New Revision: 5954 Modified: software_suite_v3/software/plugin/plugin-twitter/trunk/resources/en.po software_suite_v3/software/plugin/plugin-twitter/trunk/resources/fr.po software_suite_v3/software/plugin/plugin-twitter/trunk/resources/plugin.pot software_suite_v3/software/plugin/plugin-twitter/trunk/resources/plugin.xml Log: * Updated strings. Modified: software_suite_v3/software/plugin/plugin-twitter/trunk/resources/en.po =================================================================== --- software_suite_v3/software/plugin/plugin-twitter/trunk/resources/en.po 2009-12-08 12:13:17 UTC (rev 5953) +++ software_suite_v3/software/plugin/plugin-twitter/trunk/resources/en.po 2009-12-08 14:17:25 UTC (rev 5954) @@ -150,3 +150,15 @@ msgid "I could not connect to your Twitter. Make sure you entered your login and password correctly." msgstr "I could not connect to your Twitter. Make sure you entered your login and password correctly." + +msgid "Message from {0}, {1}" +msgstr "Message from {0}, {1}" + +msgid "Reply from {0}, {1}" +msgstr "Reply from {0}, {1}" + +msgid "Status update from {0}, {1}" +msgstr "Status update from {0}, {1}" + +msgid "Read Tweets content" +msgstr "Read Tweets content" Modified: software_suite_v3/software/plugin/plugin-twitter/trunk/resources/fr.po =================================================================== --- software_suite_v3/software/plugin/plugin-twitter/trunk/resources/fr.po 2009-12-08 12:13:17 UTC (rev 5953) +++ software_suite_v3/software/plugin/plugin-twitter/trunk/resources/fr.po 2009-12-08 14:17:25 UTC (rev 5954) @@ -150,3 +150,15 @@ msgid "I could not connect to your Twitter. Make sure you entered your login and password correctly." msgstr "Je n'ai pas pu me connecter à votre Twitter. Assurez-vous que vous avez entré un nom d'utilisateur et un mot de passe correct." + +msgid "Message from {0}, {1}" +msgstr "Message de {0}, {1}" + +msgid "Reply from {0}, {1}" +msgstr "Réponse de {0}, {1}" + +msgid "Status update from {0}, {1}" +msgstr "Mise à jour de {0}, {1}" + +msgid "Read Tweets content" +msgstr "Lire le contenu des Tweets" Modified: software_suite_v3/software/plugin/plugin-twitter/trunk/resources/plugin.pot =================================================================== --- software_suite_v3/software/plugin/plugin-twitter/trunk/resources/plugin.pot 2009-12-08 12:13:17 UTC (rev 5953) +++ software_suite_v3/software/plugin/plugin-twitter/trunk/resources/plugin.pot 2009-12-08 14:17:25 UTC (rev 5954) @@ -150,3 +150,15 @@ msgid "I could not connect to your Twitter. Make sure you entered your login and password correctly." msgstr "" + +msgid "Message from {0}, {1}" +msgstr "" + +msgid "Reply from {0}, {1}" +msgstr "" + +msgid "Status update from {0}, {1}" +msgstr "" + +msgid "Read Tweets content" +msgstr "" Modified: software_suite_v3/software/plugin/plugin-twitter/trunk/resources/plugin.xml =================================================================== --- software_suite_v3/software/plugin/plugin-twitter/trunk/resources/plugin.xml 2009-12-08 12:13:17 UTC (rev 5953) +++ software_suite_v3/software/plugin/plugin-twitter/trunk/resources/plugin.xml 2009-12-08 14:17:25 UTC (rev 5954) @@ -40,6 +40,12 @@ description="Tweet following status text" type="string" defaultValue="Hello all from my Tux Droid Twitter gadget" /> + <parameter + category="User parameters" + name="readTweets" + description="Read Tweets content" + type="boolean" + defaultValue="false" /> <parameter category="User parameters" name="checkFriends" |
From: jerome <c2m...@c2...> - 2009-12-08 12:35:19
|
Author: jerome Date: 2009-12-08 13:12:15 +0100 (Tue, 08 Dec 2009) New Revision: 5952 Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/communicator.py Log: * Fixed a bug resuming a call. Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/communicator.py =================================================================== --- software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/communicator.py 2009-12-08 11:01:28 UTC (rev 5951) +++ software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/communicator.py 2009-12-08 12:12:15 UTC (rev 5952) @@ -608,8 +608,7 @@ thread = threading.Thread(target=self.OnOutgoingCallRefused, args = [Call.PartnerHandle, ]) thread.start() #Resume last call. - if self.call != None: - self.call.Resume() + Call.Finish() |
From: jerome <c2m...@c2...> - 2009-12-08 12:35:10
|
Author: jerome Date: 2009-12-08 13:13:17 +0100 (Tue, 08 Dec 2009) New Revision: 5953 Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py Log: * Handling refused calls. Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py =================================================================== --- software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py 2009-12-08 12:12:15 UTC (rev 5952) +++ software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py 2009-12-08 12:13:17 UTC (rev 5953) @@ -139,10 +139,25 @@ def OnIncomingRefused(self, contactHandle): ''' + Incomming call refused because a call is already in progress ''' - pass + #Sending a message to the call partner. + message = "Sorry, I'm already in call, please try again later" + self.synchronious.sendTextMessage(contactHandle, message) + def OnOutgoingRefused(self, contactHandle): + ''' + Outgoing call refused event. + ''' + #Notifying user that his call was refused. + contactTTS = self.synchronious.getTTSName(contactHandle) + self.throwNotification('start') + self.throwMessage('Your call with {0} has been terminated because you are already in call', contactTTS) + self.throwNotification('stop') + + + def OnIncomingCall(self, contactHandle): ''' ''' @@ -154,11 +169,6 @@ ''' pass - - def OnOutgoingRefused(self, contactHandle): - ''' - ''' - pass def OnOutgoingCall(self, contactHandle): @@ -218,8 +228,12 @@ while 1: time.sleep(2.0) #Setting Tux Droid as audio peripheral. - if ( self.synchronious != None ) and ( not self.synchronious.isTuxDroidAudioCard() ): - self.synchronious.setAudioCards() + try: + #in try statement to take calls in care. + if ( self.synchronious != None ) and ( not self.synchronious.isTuxDroidAudioCard() ): + self.synchronious.setAudioCards() + except: + pass |
From: jerome <c2m...@c2...> - 2009-12-08 11:01:40
|
Author: jerome Date: 2009-12-08 12:01:28 +0100 (Tue, 08 Dec 2009) New Revision: 5951 Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/connector.py Log: * Do not start client if daemon mode ( added start client var ). Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/connector.py =================================================================== --- software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/connector.py 2009-12-08 11:00:52 UTC (rev 5950) +++ software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/connector.py 2009-12-08 11:01:28 UTC (rev 5951) @@ -143,7 +143,7 @@ - def __start__(self): + def __start__(self, StartClient=True): ''' Start connection between client-application ''' @@ -154,7 +154,7 @@ self.skypeClient = SkypeClient(SkypeClient.WINDOWS) #If skype client is not running start it and wait started to connect api - if not self.skypeClient.isRunning(): + if ( not self.skypeClient.isRunning() ) and StartClient: self.startedByConnector = True self.skypeClient.OnSkypeStarted = self.__connect_all__ self.skypeClient.start() @@ -181,11 +181,11 @@ ################################################### ####### User functions ################ - def start(self): + def start(self, StartSkype=True): ''' Start connection. ''' - self.__start__() + self.__start__(StartClient = StartSkype) def stop(self, KillClient=False): |
From: jerome <c2m...@c2...> - 2009-12-08 11:01:04
|
Author: jerome Date: 2009-12-08 12:00:52 +0100 (Tue, 08 Dec 2009) New Revision: 5950 Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py Log: * Command typo. * Removed unused event. Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py =================================================================== --- software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py 2009-12-08 10:59:49 UTC (rev 5949) +++ software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py 2009-12-08 11:00:52 UTC (rev 5950) @@ -86,28 +86,29 @@ Plugin entry point. This method should be used to dispatch commands. ''' - if self.getCommand() == "run": - self.run() + if self.getCommand() == "runDaemon": + self.runDaemon() else: - self.run() + self.runDaemon() - def run(self): + def runDaemon(self): ''' Run plugin command. ''' #Initialize skype client and api objects. self.connectorObj = connector.Connector() - self.connectorObj.OnAPIReady = self.initialize - self.connectorObj.start() + self.connectorObj.OnAPIReady = self.initializeDaemon + #Daemon mode, so we don't start skype automatically. + self.connectorObj.start(StartSkype=False) #Finally, starting daemon main loop mainl = threading.Thread(target=self.mainloop) mainl.start() - def initialize(self): + def initializeDaemon(self): ''' Initialize Skype objects and set events handlers. ''' @@ -205,14 +206,8 @@ ''' Event that notify a contact status changed. ''' - #Moved 'INVISIBLE to OFFLINE' in case of contact become ivisible. - if Status == 'INVISIBLE': - Status = 'OFFLINE' - #Getting tts user name. - contactTTS = self.synchronious.getTTSName(UserHandle) - self.throwNotification("start") - self.throwMessage('{0} is now {1}', contactTTS, Status) - self.throwNotification("stop") + #Nothing for this plugin version, maybe later on. + pass @@ -232,8 +227,7 @@ ''' OnPluginStop event. ''' - if self.connectorObj != None: - self.connectorObj.stop() + self.connectorObj.stop() |
From: jerome <c2m...@c2...> - 2009-12-08 11:00:08
|
Author: jerome Date: 2009-12-08 11:59:49 +0100 (Tue, 08 Dec 2009) New Revision: 5949 Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/resources/plugin.xml Log: * Command typo. Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/resources/plugin.xml =================================================================== --- software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/resources/plugin.xml 2009-12-08 10:47:09 UTC (rev 5948) +++ software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/resources/plugin.xml 2009-12-08 10:59:49 UTC (rev 5949) @@ -17,7 +17,7 @@ </parameters> <commands> <command - name="run" + name="runDaemon" description="Start Skype notifier" daemon="true" notifier="true" @@ -27,7 +27,7 @@ <task name="Activation" description="Activate the Skype notifier" - command="run" + command="runDaemon" type="once delayed" activated="false" |
From: jerome <c2m...@c2...> - 2009-12-08 10:47:22
|
Author: jerome Date: 2009-12-08 11:47:09 +0100 (Tue, 08 Dec 2009) New Revision: 5948 Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/utils.py Log: * Added return statement. Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/utils.py =================================================================== --- software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/utils.py 2009-12-08 10:45:38 UTC (rev 5947) +++ software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/utils.py 2009-12-08 10:47:09 UTC (rev 5948) @@ -65,11 +65,14 @@ ''' Check for Skype client process. ''' - from win32com.client import GetObject - WMI = GetObject('winmgmts:') - processes = WMI.InstancesOf('Win32_Process') - return ( "skype.exe" in processes ) or ( 'Skype.exe' in processes ) - + try: + from win32com.client import GetObject + WMI = GetObject('winmgmts:') + processes = WMI.InstancesOf('Win32_Process') + return ( "skype.exe" in processes ) or ( 'Skype.exe' in processes ) + except: + return False + def __start_skype_linux__(self): ''' |
From: jerome <c2m...@c2...> - 2009-12-08 10:45:49
|
Author: jerome Date: 2009-12-08 11:45:38 +0100 (Tue, 08 Dec 2009) New Revision: 5947 Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/utils.py Log: * Changed the way to check for Skype client Windows process. Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/utils.py =================================================================== --- software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/utils.py 2009-12-07 14:27:59 UTC (rev 5946) +++ software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/utils.py 2009-12-08 10:45:38 UTC (rev 5947) @@ -62,18 +62,15 @@ def __is_running_windows__(self): - ''' ''' - try: - cmd = ["tasklist", "/FI", "IMAGENAME eq skype.exe"] - process = subprocess.Popen(cmd, stdin = subprocess.PIPE, stdout = subprocess.PIPE) - values = process.stdout.read().lower() - values = values.split() - return ( "skype.exe" in values ) or ( 'Skype.exe' in values ) - except: - return False + Check for Skype client process. + ''' + from win32com.client import GetObject + WMI = GetObject('winmgmts:') + processes = WMI.InstancesOf('Win32_Process') + return ( "skype.exe" in processes ) or ( 'Skype.exe' in processes ) + - def __start_skype_linux__(self): ''' Start skype on linux. @@ -164,7 +161,8 @@ def isSkypeClientInstalled(): ''' Return true is skype client is installed, false otherwise. - ''' + ''' + if os.name != 'nt': #Checking path for skype. for path in ( os.environ['PATH'].split(':') ): @@ -180,7 +178,8 @@ if ( 'skype' in res ) or ( 'Skype' in res ): return True - return False + return False + isSkypeClientInstalled = staticmethod(isSkypeClientInstalled) |
From: remi <c2m...@c2...> - 2009-12-07 14:28:15
|
Author: remi Date: 2009-12-07 15:27:59 +0100 (Mon, 07 Dec 2009) New Revision: 5946 Added: software_suite_v3/software/gadget/default/trunk/here.py software_suite_v3/software/gadget/online_only/trunk/here.py Modified: software_suite_v3/software/gadget/default/trunk/build.py software_suite_v3/software/gadget/online_only/trunk/build.py Log: * Fixed method to detect gadgets paths Modified: software_suite_v3/software/gadget/default/trunk/build.py =================================================================== --- software_suite_v3/software/gadget/default/trunk/build.py 2009-12-07 13:31:31 UTC (rev 5945) +++ software_suite_v3/software/gadget/default/trunk/build.py 2009-12-07 14:27:59 UTC (rev 5946) @@ -8,27 +8,17 @@ import os from builder.GadgetPackager import GadgetPackager +from here import localFilePath -# ============================================================================== -# Class to retrieve the py file path. -# ============================================================================== -class localFilePath(object): - """Class to retrieve the local file path. - """ - def getPath(self): - """Get the local file path. - """ - mPath, mFile = os.path.split(__file__) - return mPath - if __name__ == "__main__": - basePath = localFilePath().getPath() + basePath = os.path.realpath(localFilePath().getPath()) + def checkIsDir(directoryName): + path = os.path.join(basePath, directoryName) + return os.path.isdir(path) + # List all the directories - if os.name == 'nt': - directoriesList = filter (os.path.isdir, os.listdir(basePath)) - else: - directoriesList = filter (os.path.isdir, os.listdir(os.getcwd())) + directoriesList = filter (checkIsDir, os.listdir(basePath)) for gadget in directoriesList: # Be sure that the directory is a gadget if gadget.find("gadget") != -1: Added: software_suite_v3/software/gadget/default/trunk/here.py =================================================================== --- software_suite_v3/software/gadget/default/trunk/here.py (rev 0) +++ software_suite_v3/software/gadget/default/trunk/here.py 2009-12-07 14:27:59 UTC (rev 5946) @@ -0,0 +1,13 @@ +import os + +# ============================================================================== +# Class to retrieve the py file path. +# ============================================================================== +class localFilePath(object): + """Class to retrieve the local file path. + """ + def getPath(self): + """Get the local file path. + """ + mPath, mFile = os.path.split(__file__) + return mPath Modified: software_suite_v3/software/gadget/online_only/trunk/build.py =================================================================== --- software_suite_v3/software/gadget/online_only/trunk/build.py 2009-12-07 13:31:31 UTC (rev 5945) +++ software_suite_v3/software/gadget/online_only/trunk/build.py 2009-12-07 14:27:59 UTC (rev 5946) @@ -8,27 +8,17 @@ import os from builder.GadgetPackager import GadgetPackager +from here import localFilePath -# ============================================================================== -# Class to retrieve the py file path. -# ============================================================================== -class localFilePath(object): - """Class to retrieve the local file path. - """ - def getPath(self): - """Get the local file path. - """ - mPath, mFile = os.path.split(__file__) - return mPath - if __name__ == "__main__": - basePath = localFilePath().getPath() + basePath = os.path.realpath(localFilePath().getPath()) + def checkIsDir(directoryName): + path = os.path.join(basePath, directoryName) + return os.path.isdir(path) + # List all the directories - if os.name == 'nt': - directoriesList = filter (os.path.isdir, os.listdir(basePath)) - else: - directoriesList = filter (os.path.isdir, os.listdir(os.getcwd())) + directoriesList = filter (checkIsDir, os.listdir(basePath)) for gadget in directoriesList: # Be sure that the directory is a gadget if gadget.find("gadget") != -1: Added: software_suite_v3/software/gadget/online_only/trunk/here.py =================================================================== --- software_suite_v3/software/gadget/online_only/trunk/here.py (rev 0) +++ software_suite_v3/software/gadget/online_only/trunk/here.py 2009-12-07 14:27:59 UTC (rev 5946) @@ -0,0 +1,13 @@ +import os + +# ============================================================================== +# Class to retrieve the py file path. +# ============================================================================== +class localFilePath(object): + """Class to retrieve the local file path. + """ + def getPath(self): + """Get the local file path. + """ + mPath, mFile = os.path.split(__file__) + return mPath |
From: remi <c2m...@c2...> - 2009-12-07 13:48:31
|
Author: remi Date: 2009-12-07 14:31:31 +0100 (Mon, 07 Dec 2009) New Revision: 5945 Modified: software_suite_v3/software/gadget/default/trunk/build.py software_suite_v3/software/gadget/online_only/trunk/build.py Log: * Fixed gadgets path to scan for Windows Modified: software_suite_v3/software/gadget/default/trunk/build.py =================================================================== --- software_suite_v3/software/gadget/default/trunk/build.py 2009-12-07 12:02:06 UTC (rev 5944) +++ software_suite_v3/software/gadget/default/trunk/build.py 2009-12-07 13:31:31 UTC (rev 5945) @@ -25,7 +25,10 @@ basePath = localFilePath().getPath() # List all the directories - directoriesList = filter (os.path.isdir, os.listdir(os.getcwd())) + if os.name == 'nt': + directoriesList = filter (os.path.isdir, os.listdir(basePath)) + else: + directoriesList = filter (os.path.isdir, os.listdir(os.getcwd())) for gadget in directoriesList: # Be sure that the directory is a gadget if gadget.find("gadget") != -1: Modified: software_suite_v3/software/gadget/online_only/trunk/build.py =================================================================== --- software_suite_v3/software/gadget/online_only/trunk/build.py 2009-12-07 12:02:06 UTC (rev 5944) +++ software_suite_v3/software/gadget/online_only/trunk/build.py 2009-12-07 13:31:31 UTC (rev 5945) @@ -25,7 +25,10 @@ basePath = localFilePath().getPath() # List all the directories - directoriesList = filter (os.path.isdir, os.listdir(os.getcwd())) + if os.name == 'nt': + directoriesList = filter (os.path.isdir, os.listdir(basePath)) + else: + directoriesList = filter (os.path.isdir, os.listdir(os.getcwd())) for gadget in directoriesList: # Be sure that the directory is a gadget if gadget.find("gadget") != -1: |
From: jerome <c2m...@c2...> - 2009-12-07 12:02:21
|
Author: jerome Date: 2009-12-07 13:02:06 +0100 (Mon, 07 Dec 2009) New Revision: 5944 Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py Log: * Fixed a dummy bug. Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py =================================================================== --- software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py 2009-12-07 11:57:59 UTC (rev 5943) +++ software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py 2009-12-07 12:02:06 UTC (rev 5944) @@ -211,7 +211,7 @@ #Getting tts user name. contactTTS = self.synchronious.getTTSName(UserHandle) self.throwNotification("start") - self.throwMessage('{0} is now {1}', UserHandle, contactTTS) + self.throwMessage('{0} is now {1}', contactTTS, Status) self.throwNotification("stop") |
From: jerome <c2m...@c2...> - 2009-12-07 11:58:13
|
Author: jerome Date: 2009-12-07 12:57:59 +0100 (Mon, 07 Dec 2009) New Revision: 5943 Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py Log: * Throwing tts name instead of user handle. Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py =================================================================== --- software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py 2009-12-07 11:36:32 UTC (rev 5942) +++ software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py 2009-12-07 11:57:59 UTC (rev 5943) @@ -115,7 +115,7 @@ self.synchronious = SynchroniousCommands(self.connectorObj) #Initializing contacts list. - #self.connectorObj.getContacts() + self.synchronious.getContacts() #Setting asynchronious obj. self.asynchronious = AsynchroniousCommands(self.connectorObj) @@ -176,9 +176,10 @@ ''' Event that notify of incoming chat message. ''' + #Getting tts user name. + contactTTS = self.synchronious.getTTSName(contactHandle) self.throwNotification("start") - #contactTTS = self.synchronious.getTTSName(contactHandle) - self.throwMessage('You have a message from {0}', contactHandle) + self.throwMessage('You have a message from {0}', contactTTS) self.throwNotification("stop") @@ -207,8 +208,10 @@ #Moved 'INVISIBLE to OFFLINE' in case of contact become ivisible. if Status == 'INVISIBLE': Status = 'OFFLINE' + #Getting tts user name. + contactTTS = self.synchronious.getTTSName(UserHandle) self.throwNotification("start") - self.throwMessage('{0} is now {1}', UserHandle, Status) + self.throwMessage('{0} is now {1}', UserHandle, contactTTS) self.throwNotification("stop") |
From: jerome <c2m...@c2...> - 2009-12-07 11:36:43
|
Author: jerome Date: 2009-12-07 12:36:32 +0100 (Mon, 07 Dec 2009) New Revision: 5942 Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/resources/plugin.xml Log: * Added a 30 seconds delay before starting plugin. Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/resources/plugin.xml =================================================================== --- software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/resources/plugin.xml 2009-12-07 10:42:57 UTC (rev 5941) +++ software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/resources/plugin.xml 2009-12-07 11:36:32 UTC (rev 5942) @@ -31,7 +31,7 @@ type="once delayed" activated="false" - delay="00:00:10" + delay="00:00:30" delayMask="false,false,false" delayVisible="false" /> |
From: ks156 <c2m...@c2...> - 2009-12-07 10:43:11
|
Author: ks156 Date: 2009-12-07 11:42:57 +0100 (Mon, 07 Dec 2009) New Revision: 5941 Modified: software_suite_v2/tuxware/java-api/trunk/src/doc/Doxyfile Log: * Fixed a bug in the doxyfile Modified: software_suite_v2/tuxware/java-api/trunk/src/doc/Doxyfile =================================================================== --- software_suite_v2/tuxware/java-api/trunk/src/doc/Doxyfile 2009-12-06 14:04:21 UTC (rev 5940) +++ software_suite_v2/tuxware/java-api/trunk/src/doc/Doxyfile 2009-12-07 10:42:57 UTC (rev 5941) @@ -483,7 +483,7 @@ # directories like "r/src/myproject". Separate the files or directories # with spaces. -INPUT = "com" +INPUT = "com/tuxisalive/api" # This tag can be used to specify the character encoding of the source files that # doxygen parses. Internally doxygen uses the UTF-8 encoding, which is also the default |
From: ks156 <c2m...@c2...> - 2009-12-06 14:04:39
|
Author: ks156 Date: 2009-12-06 15:04:21 +0100 (Sun, 06 Dec 2009) New Revision: 5940 Removed: README.txt conf/ db/ format hooks/ locks/ Log: * Cleanup the repository put by error in the root directory. Deleted: README.txt =================================================================== --- README.txt 2009-12-06 13:35:03 UTC (rev 5939) +++ README.txt 2009-12-06 14:04:21 UTC (rev 5940) @@ -1,5 +0,0 @@ -This is a Subversion repository; use the 'svnadmin' tool to examine -it. Do not add, delete, or modify files here unless you know how -to avoid corrupting the repository. - -Visit http://subversion.tigris.org/ for more information. Deleted: format =================================================================== --- format 2009-12-06 13:35:03 UTC (rev 5939) +++ format 2009-12-06 14:04:21 UTC (rev 5940) @@ -1 +0,0 @@ -5 |
From: gwadavel <c2m...@c2...> - 2009-12-06 13:55:18
|
Author: gwadavel Date: 2009-12-06 14:35:03 +0100 (Sun, 06 Dec 2009) New Revision: 5939 Added: README.txt conf/ conf/authz conf/passwd conf/svnserve.conf db/ db/current db/format db/fs-type db/fsfs.conf db/min-unpacked-rev db/rep-cache.db db/revprops/ db/revprops/0/ db/revprops/0/0 db/revs/ db/revs/0/ db/revs/0/0 db/transactions/ db/txn-current db/txn-current-lock db/txn-protorevs/ db/uuid db/write-lock format hooks/ hooks/post-commit.tmpl hooks/post-lock.tmpl hooks/post-revprop-change.tmpl hooks/post-unlock.tmpl hooks/pre-commit.tmpl hooks/pre-lock.tmpl hooks/pre-revprop-change.tmpl hooks/pre-unlock.tmpl hooks/start-commit.tmpl locks/ locks/db-logs.lock locks/db.lock Log: Added: README.txt =================================================================== --- README.txt (rev 0) +++ README.txt 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1,5 @@ +This is a Subversion repository; use the 'svnadmin' tool to examine +it. Do not add, delete, or modify files here unless you know how +to avoid corrupting the repository. + +Visit http://subversion.tigris.org/ for more information. Added: conf/authz =================================================================== --- conf/authz (rev 0) +++ conf/authz 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1,32 @@ +### This file is an example authorization file for svnserve. +### Its format is identical to that of mod_authz_svn authorization +### files. +### As shown below each section defines authorizations for the path and +### (optional) repository specified by the section name. +### The authorizations follow. An authorization line can refer to: +### - a single user, +### - a group of users defined in a special [groups] section, +### - an alias defined in a special [aliases] section, +### - all authenticated users, using the '$authenticated' token, +### - only anonymous users, using the '$anonymous' token, +### - anyone, using the '*' wildcard. +### +### A match can be inverted by prefixing the rule with '~'. Rules can +### grant read ('r') access, read-write ('rw') access, or no access +### (''). + +[aliases] +# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average + +[groups] +# harry_and_sally = harry,sally +# harry_sally_and_joe = harry,sally,&joe + +# [/foo/bar] +# harry = rw +# &joe = r +# * = + +# [repository:/baz/fuz] +# @harry_and_sally = rw +# * = r Added: conf/passwd =================================================================== --- conf/passwd (rev 0) +++ conf/passwd 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1,8 @@ +### This file is an example password file for svnserve. +### Its format is similar to that of svnserve.conf. As shown in the +### example below it contains one section labelled [users]. +### The name and password for each user follow, one account per line. + +[users] +# harry = harryssecret +# sally = sallyssecret Added: conf/svnserve.conf =================================================================== --- conf/svnserve.conf (rev 0) +++ conf/svnserve.conf 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1,47 @@ +### This file controls the configuration of the svnserve daemon, if you +### use it to allow access to this repository. (If you only allow +### access through http: and/or file: URLs, then this file is +### irrelevant.) + +### Visit http://subversion.tigris.org/ for more information. + +[general] +### These options control access to the repository for unauthenticated +### and authenticated users. Valid values are "write", "read", +### and "none". The sample settings below are the defaults. +# anon-access = read +# auth-access = write +### The password-db option controls the location of the password +### database file. Unless you specify a path starting with a /, +### the file's location is relative to the directory containing +### this configuration file. +### If SASL is enabled (see below), this file will NOT be used. +### Uncomment the line below to use the default password file. +# password-db = passwd +### The authz-db option controls the location of the authorization +### rules for path-based access control. Unless you specify a path +### starting with a /, the file's location is relative to the the +### directory containing this file. If you don't specify an +### authz-db, no path-based access control is done. +### Uncomment the line below to use the default authorization file. +# authz-db = authz +### This option specifies the authentication realm of the repository. +### If two repositories have the same authentication realm, they should +### have the same password database, and vice versa. The default realm +### is repository's uuid. +# realm = My First Repository + +[sasl] +### This option specifies whether you want to use the Cyrus SASL +### library for authentication. Default is false. +### This section will be ignored if svnserve is not built with Cyrus +### SASL support; to check, run 'svnserve --version' and look for a line +### reading 'Cyrus SASL authentication is available.' +# use-sasl = true +### These options specify the desired strength of the security layer +### that you want SASL to provide. 0 means no encryption, 1 means +### integrity-checking only, values larger than 1 are correlated +### to the effective key length for encryption (e.g. 128 means 128-bit +### encryption). The values below are the defaults. +# min-encryption = 0 +# max-encryption = 256 Added: db/current =================================================================== --- db/current (rev 0) +++ db/current 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1 @@ +0 Added: db/format =================================================================== --- db/format (rev 0) +++ db/format 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1,2 @@ +4 +layout sharded 1000 Added: db/fs-type =================================================================== --- db/fs-type (rev 0) +++ db/fs-type 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1 @@ +fsfs Added: db/fsfs.conf =================================================================== --- db/fsfs.conf (rev 0) +++ db/fsfs.conf 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1,37 @@ +### This file controls the configuration of the FSFS filesystem. + +[memcached-servers] +### These options name memcached servers used to cache internal FSFS +### data. See http://www.danga.com/memcached/ for more information on +### memcached. To use memcached with FSFS, run one or more memcached +### servers, and specify each of them as an option like so: +# first-server = 127.0.0.1:11211 +# remote-memcached = mymemcached.corp.example.com:11212 +### The option name is ignored; the value is of the form HOST:PORT. +### memcached servers can be shared between multiple repositories; +### however, if you do this, you *must* ensure that repositories have +### distinct UUIDs and paths, or else cached data from one repository +### might be used by another accidentally. Note also that memcached has +### no authentication for reads or writes, so you must ensure that your +### memcached servers are only accessible by trusted users. + +[caches] +### When a cache-related error occurs, normally Subversion ignores it +### and continues, logging an error if the server is appropriately +### configured (and ignoring it with file:// access). To make +### Subversion never ignore cache errors, uncomment this line. +# fail-stop = true + +[rep-sharing] +### To conserve space, the filesystem can optionally avoid storing +### duplicate representations. This comes at a slight cost in performace, +### as maintaining a database of shared representations can increase +### commit times. The space savings are dependent upon the size of the +### repository, the number of objects it contains and the amount of +### duplication between them, usually a function of the branching and +### merging process. +### +### The following parameter enables rep-sharing in the repository. It can +### be switched on and off at will, but for best space-saving results +### should be enabled consistently over the life of the repository. +# enable-rep-sharing = false Added: db/min-unpacked-rev =================================================================== --- db/min-unpacked-rev (rev 0) +++ db/min-unpacked-rev 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1 @@ +0 Added: db/rep-cache.db =================================================================== (Binary files differ) Property changes on: db/rep-cache.db ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: db/revprops/0/0 =================================================================== --- db/revprops/0/0 (rev 0) +++ db/revprops/0/0 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1,5 @@ +K 8 +svn:date +V 27 +2009-12-06T13:34:18.193070Z +END Added: db/revs/0/0 =================================================================== --- db/revs/0/0 (rev 0) +++ db/revs/0/0 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1,11 @@ +PLAIN +END +ENDREP +id: 0.0.r0/17 +type: dir +count: 0 +text: 0 0 4 4 2d2977d1c96f487abe4a1e202dd03b4e +cpath: / + + +17 107 Added: db/txn-current =================================================================== --- db/txn-current (rev 0) +++ db/txn-current 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1 @@ +0 Added: db/txn-current-lock =================================================================== Added: db/uuid =================================================================== --- db/uuid (rev 0) +++ db/uuid 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1 @@ +7b4e238f-6fb9-044e-93d4-d00cc05a6118 Added: db/write-lock =================================================================== Added: format =================================================================== --- format (rev 0) +++ format 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1 @@ +5 Added: hooks/post-commit.tmpl =================================================================== --- hooks/post-commit.tmpl (rev 0) +++ hooks/post-commit.tmpl 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1,50 @@ +#!/bin/sh + +# POST-COMMIT HOOK +# +# The post-commit hook is invoked after a commit. Subversion runs +# this hook by invoking a program (script, executable, binary, etc.) +# named 'post-commit' (for which this file is a template) with the +# following ordered arguments: +# +# [1] REPOS-PATH (the path to this repository) +# [2] REV (the number of the revision just committed) +# +# The default working directory for the invocation is undefined, so +# the program should set one explicitly if it cares. +# +# Because the commit has already completed and cannot be undone, +# the exit code of the hook program is ignored. The hook program +# can use the 'svnlook' utility to help it examine the +# newly-committed tree. +# +# On a Unix system, the normal procedure is to have 'post-commit' +# invoke other programs to do the real work, though it may do the +# work itself too. +# +# Note that 'post-commit' must be executable by the user(s) who will +# invoke it (typically the user httpd runs as), and that user must +# have filesystem-level permission to access the repository. +# +# On a Windows system, you should name the hook program +# 'post-commit.bat' or 'post-commit.exe', +# but the basic idea is the same. +# +# The hook program typically does not inherit the environment of +# its parent process. For example, a common problem is for the +# PATH environment variable to not be set to its usual value, so +# that subprograms fail to launch unless invoked via absolute path. +# If you're having unexpected problems with a hook program, the +# culprit may be unusual (or missing) environment variables. +# +# Here is an example hook script, for a Unix /bin/sh interpreter. +# For more examples and pre-written hooks, see those in +# the Subversion repository at +# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and +# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/ + + +REPOS="$1" +REV="$2" + +mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf Added: hooks/post-lock.tmpl =================================================================== --- hooks/post-lock.tmpl (rev 0) +++ hooks/post-lock.tmpl 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1,44 @@ +#!/bin/sh + +# POST-LOCK HOOK +# +# The post-lock hook is run after a path is locked. Subversion runs +# this hook by invoking a program (script, executable, binary, etc.) +# named 'post-lock' (for which this file is a template) with the +# following ordered arguments: +# +# [1] REPOS-PATH (the path to this repository) +# [2] USER (the user who created the lock) +# +# The paths that were just locked are passed to the hook via STDIN (as +# of Subversion 1.2, only one path is passed per invocation, but the +# plan is to pass all locked paths at once, so the hook program +# should be written accordingly). +# +# The default working directory for the invocation is undefined, so +# the program should set one explicitly if it cares. +# +# Because the lock has already been created and cannot be undone, +# the exit code of the hook program is ignored. The hook program +# can use the 'svnlook' utility to help it examine the +# newly-created lock. +# +# On a Unix system, the normal procedure is to have 'post-lock' +# invoke other programs to do the real work, though it may do the +# work itself too. +# +# Note that 'post-lock' must be executable by the user(s) who will +# invoke it (typically the user httpd runs as), and that user must +# have filesystem-level permission to access the repository. +# +# On a Windows system, you should name the hook program +# 'post-lock.bat' or 'post-lock.exe', +# but the basic idea is the same. +# +# Here is an example hook script, for a Unix /bin/sh interpreter: + +REPOS="$1" +USER="$2" + +# Send email to interested parties, let them know a lock was created: +mailer.py lock "$REPOS" "$USER" /path/to/mailer.conf Added: hooks/post-revprop-change.tmpl =================================================================== --- hooks/post-revprop-change.tmpl (rev 0) +++ hooks/post-revprop-change.tmpl 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1,56 @@ +#!/bin/sh + +# POST-REVPROP-CHANGE HOOK +# +# The post-revprop-change hook is invoked after a revision property +# has been added, modified or deleted. Subversion runs this hook by +# invoking a program (script, executable, binary, etc.) named +# 'post-revprop-change' (for which this file is a template), with the +# following ordered arguments: +# +# [1] REPOS-PATH (the path to this repository) +# [2] REV (the revision that was tweaked) +# [3] USER (the username of the person tweaking the property) +# [4] PROPNAME (the property that was changed) +# [5] ACTION (the property was 'A'dded, 'M'odified, or 'D'eleted) +# +# [STDIN] PROPVAL ** the old property value is passed via STDIN. +# +# Because the propchange has already completed and cannot be undone, +# the exit code of the hook program is ignored. The hook program +# can use the 'svnlook' utility to help it examine the +# new property value. +# +# On a Unix system, the normal procedure is to have 'post-revprop-change' +# invoke other programs to do the real work, though it may do the +# work itself too. +# +# Note that 'post-revprop-change' must be executable by the user(s) who will +# invoke it (typically the user httpd runs as), and that user must +# have filesystem-level permission to access the repository. +# +# On a Windows system, you should name the hook program +# 'post-revprop-change.bat' or 'post-revprop-change.exe', +# but the basic idea is the same. +# +# The hook program typically does not inherit the environment of +# its parent process. For example, a common problem is for the +# PATH environment variable to not be set to its usual value, so +# that subprograms fail to launch unless invoked via absolute path. +# If you're having unexpected problems with a hook program, the +# culprit may be unusual (or missing) environment variables. +# +# Here is an example hook script, for a Unix /bin/sh interpreter. +# For more examples and pre-written hooks, see those in +# the Subversion repository at +# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and +# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/ + + +REPOS="$1" +REV="$2" +USER="$3" +PROPNAME="$4" +ACTION="$5" + +mailer.py propchange2 "$REPOS" "$REV" "$USER" "$PROPNAME" "$ACTION" /path/to/mailer.conf Added: hooks/post-unlock.tmpl =================================================================== --- hooks/post-unlock.tmpl (rev 0) +++ hooks/post-unlock.tmpl 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1,42 @@ +#!/bin/sh + +# POST-UNLOCK HOOK +# +# The post-unlock hook runs after a path is unlocked. Subversion runs +# this hook by invoking a program (script, executable, binary, etc.) +# named 'post-unlock' (for which this file is a template) with the +# following ordered arguments: +# +# [1] REPOS-PATH (the path to this repository) +# [2] USER (the user who destroyed the lock) +# +# The paths that were just unlocked are passed to the hook via STDIN +# (as of Subversion 1.2, only one path is passed per invocation, but +# the plan is to pass all unlocked paths at once, so the hook program +# should be written accordingly). +# +# The default working directory for the invocation is undefined, so +# the program should set one explicitly if it cares. +# +# Because the lock has already been destroyed and cannot be undone, +# the exit code of the hook program is ignored. +# +# On a Unix system, the normal procedure is to have 'post-unlock' +# invoke other programs to do the real work, though it may do the +# work itself too. +# +# Note that 'post-unlock' must be executable by the user(s) who will +# invoke it (typically the user httpd runs as), and that user must +# have filesystem-level permission to access the repository. +# +# On a Windows system, you should name the hook program +# 'post-unlock.bat' or 'post-unlock.exe', +# but the basic idea is the same. +# +# Here is an example hook script, for a Unix /bin/sh interpreter: + +REPOS="$1" +USER="$2" + +# Send email to interested parties, let them know a lock was removed: +mailer.py unlock "$REPOS" "$USER" /path/to/mailer.conf Added: hooks/pre-commit.tmpl =================================================================== --- hooks/pre-commit.tmpl (rev 0) +++ hooks/pre-commit.tmpl 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1,81 @@ +#!/bin/sh + +# PRE-COMMIT HOOK +# +# The pre-commit hook is invoked before a Subversion txn is +# committed. Subversion runs this hook by invoking a program +# (script, executable, binary, etc.) named 'pre-commit' (for which +# this file is a template), with the following ordered arguments: +# +# [1] REPOS-PATH (the path to this repository) +# [2] TXN-NAME (the name of the txn about to be committed) +# +# [STDIN] LOCK-TOKENS ** the lock tokens are passed via STDIN. +# +# If STDIN contains the line "LOCK-TOKENS:\n" (the "\n" denotes a +# single newline), the lines following it are the lock tokens for +# this commit. The end of the list is marked by a line containing +# only a newline character. +# +# Each lock token line consists of a URI-escaped path, followed +# by the separator character '|', followed by the lock token string, +# followed by a newline. +# +# The default working directory for the invocation is undefined, so +# the program should set one explicitly if it cares. +# +# If the hook program exits with success, the txn is committed; but +# if it exits with failure (non-zero), the txn is aborted, no commit +# takes place, and STDERR is returned to the client. The hook +# program can use the 'svnlook' utility to help it examine the txn. +# +# On a Unix system, the normal procedure is to have 'pre-commit' +# invoke other programs to do the real work, though it may do the +# work itself too. +# +# *** NOTE: THE HOOK PROGRAM MUST NOT MODIFY THE TXN, EXCEPT *** +# *** FOR REVISION PROPERTIES (like svn:log or svn:author). *** +# +# This is why we recommend using the read-only 'svnlook' utility. +# In the future, Subversion may enforce the rule that pre-commit +# hooks should not modify the versioned data in txns, or else come +# up with a mechanism to make it safe to do so (by informing the +# committing client of the changes). However, right now neither +# mechanism is implemented, so hook writers just have to be careful. +# +# Note that 'pre-commit' must be executable by the user(s) who will +# invoke it (typically the user httpd runs as), and that user must +# have filesystem-level permission to access the repository. +# +# On a Windows system, you should name the hook program +# 'pre-commit.bat' or 'pre-commit.exe', +# but the basic idea is the same. +# +# The hook program typically does not inherit the environment of +# its parent process. For example, a common problem is for the +# PATH environment variable to not be set to its usual value, so +# that subprograms fail to launch unless invoked via absolute path. +# If you're having unexpected problems with a hook program, the +# culprit may be unusual (or missing) environment variables. +# +# Here is an example hook script, for a Unix /bin/sh interpreter. +# For more examples and pre-written hooks, see those in +# the Subversion repository at +# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and +# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/ + + +REPOS="$1" +TXN="$2" + +# Make sure that the log message contains some text. +SVNLOOK=/usr/local/bin/svnlook +$SVNLOOK log -t "$TXN" "$REPOS" | \ + grep "[a-zA-Z0-9]" > /dev/null || exit 1 + +# Check that the author of this commit has the rights to perform +# the commit on the files and directories being modified. +commit-access-control.pl "$REPOS" "$TXN" commit-access-control.cfg || exit 1 + +# All checks passed, so allow the commit. +exit 0 Added: hooks/pre-lock.tmpl =================================================================== --- hooks/pre-lock.tmpl (rev 0) +++ hooks/pre-lock.tmpl 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1,71 @@ +#!/bin/sh + +# PRE-LOCK HOOK +# +# The pre-lock hook is invoked before an exclusive lock is +# created. Subversion runs this hook by invoking a program +# (script, executable, binary, etc.) named 'pre-lock' (for which +# this file is a template), with the following ordered arguments: +# +# [1] REPOS-PATH (the path to this repository) +# [2] PATH (the path in the repository about to be locked) +# [3] USER (the user creating the lock) +# [4] COMMENT (the comment of the lock) +# [5] STEAL-LOCK (1 if the user is trying to steal the lock, else 0) +# +# If the hook program outputs anything on stdout, the output string will +# be used as the lock token for this lock operation. If you choose to use +# this feature, you must guarantee the tokens generated are unique across +# the repository each time. +# +# The default working directory for the invocation is undefined, so +# the program should set one explicitly if it cares. +# +# If the hook program exits with success, the lock is created; but +# if it exits with failure (non-zero), the lock action is aborted +# and STDERR is returned to the client. + +# On a Unix system, the normal procedure is to have 'pre-lock' +# invoke other programs to do the real work, though it may do the +# work itself too. +# +# Note that 'pre-lock' must be executable by the user(s) who will +# invoke it (typically the user httpd runs as), and that user must +# have filesystem-level permission to access the repository. +# +# On a Windows system, you should name the hook program +# 'pre-lock.bat' or 'pre-lock.exe', +# but the basic idea is the same. +# +# Here is an example hook script, for a Unix /bin/sh interpreter: + +REPOS="$1" +PATH="$2" +USER="$3" + +# If a lock exists and is owned by a different person, don't allow it +# to be stolen (e.g., with 'svn lock --force ...'). + +# (Maybe this script could send email to the lock owner?) +SVNLOOK=/usr/local/bin/svnlook +GREP=/bin/grep +SED=/bin/sed + +LOCK_OWNER=`$SVNLOOK lock "$REPOS" "$PATH" | \ + $GREP '^Owner: ' | $SED 's/Owner: //'` + +# If we get no result from svnlook, there's no lock, allow the lock to +# happen: +if [ "$LOCK_OWNER" = "" ]; then + exit 0 +fi + +# If the person locking matches the lock's owner, allow the lock to +# happen: +if [ "$LOCK_OWNER" = "$USER" ]; then + exit 0 +fi + +# Otherwise, we've got an owner mismatch, so return failure: +echo "Error: $PATH already locked by ${LOCK_OWNER}." 1>&2 +exit 1 Added: hooks/pre-revprop-change.tmpl =================================================================== --- hooks/pre-revprop-change.tmpl (rev 0) +++ hooks/pre-revprop-change.tmpl 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1,66 @@ +#!/bin/sh + +# PRE-REVPROP-CHANGE HOOK +# +# The pre-revprop-change hook is invoked before a revision property +# is added, modified or deleted. Subversion runs this hook by invoking +# a program (script, executable, binary, etc.) named 'pre-revprop-change' +# (for which this file is a template), with the following ordered +# arguments: +# +# [1] REPOS-PATH (the path to this repository) +# [2] REVISION (the revision being tweaked) +# [3] USER (the username of the person tweaking the property) +# [4] PROPNAME (the property being set on the revision) +# [5] ACTION (the property is being 'A'dded, 'M'odified, or 'D'eleted) +# +# [STDIN] PROPVAL ** the new property value is passed via STDIN. +# +# If the hook program exits with success, the propchange happens; but +# if it exits with failure (non-zero), the propchange doesn't happen. +# The hook program can use the 'svnlook' utility to examine the +# existing value of the revision property. +# +# WARNING: unlike other hooks, this hook MUST exist for revision +# properties to be changed. If the hook does not exist, Subversion +# will behave as if the hook were present, but failed. The reason +# for this is that revision properties are UNVERSIONED, meaning that +# a successful propchange is destructive; the old value is gone +# forever. We recommend the hook back up the old value somewhere. +# +# On a Unix system, the normal procedure is to have 'pre-revprop-change' +# invoke other programs to do the real work, though it may do the +# work itself too. +# +# Note that 'pre-revprop-change' must be executable by the user(s) who will +# invoke it (typically the user httpd runs as), and that user must +# have filesystem-level permission to access the repository. +# +# On a Windows system, you should name the hook program +# 'pre-revprop-change.bat' or 'pre-revprop-change.exe', +# but the basic idea is the same. +# +# The hook program typically does not inherit the environment of +# its parent process. For example, a common problem is for the +# PATH environment variable to not be set to its usual value, so +# that subprograms fail to launch unless invoked via absolute path. +# If you're having unexpected problems with a hook program, the +# culprit may be unusual (or missing) environment variables. +# +# Here is an example hook script, for a Unix /bin/sh interpreter. +# For more examples and pre-written hooks, see those in +# the Subversion repository at +# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and +# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/ + + +REPOS="$1" +REV="$2" +USER="$3" +PROPNAME="$4" +ACTION="$5" + +if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi + +echo "Changing revision properties other than svn:log is prohibited" >&2 +exit 1 Added: hooks/pre-unlock.tmpl =================================================================== --- hooks/pre-unlock.tmpl (rev 0) +++ hooks/pre-unlock.tmpl 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1,63 @@ +#!/bin/sh + +# PRE-UNLOCK HOOK +# +# The pre-unlock hook is invoked before an exclusive lock is +# destroyed. Subversion runs this hook by invoking a program +# (script, executable, binary, etc.) named 'pre-unlock' (for which +# this file is a template), with the following ordered arguments: +# +# [1] REPOS-PATH (the path to this repository) +# [2] PATH (the path in the repository about to be unlocked) +# [3] USER (the user destroying the lock) +# [4] TOKEN (the lock token to be destroyed) +# [5] BREAK-UNLOCK (1 if the user is breaking the lock, else 0) +# +# The default working directory for the invocation is undefined, so +# the program should set one explicitly if it cares. +# +# If the hook program exits with success, the lock is destroyed; but +# if it exits with failure (non-zero), the unlock action is aborted +# and STDERR is returned to the client. + +# On a Unix system, the normal procedure is to have 'pre-unlock' +# invoke other programs to do the real work, though it may do the +# work itself too. +# +# Note that 'pre-unlock' must be executable by the user(s) who will +# invoke it (typically the user httpd runs as), and that user must +# have filesystem-level permission to access the repository. +# +# On a Windows system, you should name the hook program +# 'pre-unlock.bat' or 'pre-unlock.exe', +# but the basic idea is the same. +# +# Here is an example hook script, for a Unix /bin/sh interpreter: + +REPOS="$1" +PATH="$2" +USER="$3" + +# If a lock is owned by a different person, don't allow it be broken. +# (Maybe this script could send email to the lock owner?) + +SVNLOOK=/usr/local/bin/svnlook +GREP=/bin/grep +SED=/bin/sed + +LOCK_OWNER=`$SVNLOOK lock "$REPOS" "$PATH" | \ + $GREP '^Owner: ' | $SED 's/Owner: //'` + +# If we get no result from svnlook, there's no lock, return success: +if [ "$LOCK_OWNER" = "" ]; then + exit 0 +fi + +# If the person unlocking matches the lock's owner, return success: +if [ "$LOCK_OWNER" = "$USER" ]; then + exit 0 +fi + +# Otherwise, we've got an owner mismatch, so return failure: +echo "Error: $PATH locked by ${LOCK_OWNER}." 1>&2 +exit 1 Added: hooks/start-commit.tmpl =================================================================== --- hooks/start-commit.tmpl (rev 0) +++ hooks/start-commit.tmpl 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1,65 @@ +#!/bin/sh + +# START-COMMIT HOOK +# +# The start-commit hook is invoked before a Subversion txn is created +# in the process of doing a commit. Subversion runs this hook +# by invoking a program (script, executable, binary, etc.) named +# 'start-commit' (for which this file is a template) +# with the following ordered arguments: +# +# [1] REPOS-PATH (the path to this repository) +# [2] USER (the authenticated user attempting to commit) +# [3] CAPABILITIES (a colon-separated list of capabilities reported +# by the client; see note below) +# +# Note: The CAPABILITIES parameter is new in Subversion 1.5, and 1.5 +# clients will typically report at least the "mergeinfo" capability. +# If there are other capabilities, then the list is colon-separated, +# e.g.: "mergeinfo:some-other-capability" (the order is undefined). +# +# The list is self-reported by the client. Therefore, you should not +# make security assumptions based on the capabilities list, nor should +# you assume that clients reliably report every capability they have. +# +# The working directory for this hook program's invocation is undefined, +# so the program should set one explicitly if it cares. +# +# If the hook program exits with success, the commit continues; but +# if it exits with failure (non-zero), the commit is stopped before +# a Subversion txn is created, and STDERR is returned to the client. +# +# On a Unix system, the normal procedure is to have 'start-commit' +# invoke other programs to do the real work, though it may do the +# work itself too. +# +# Note that 'start-commit' must be executable by the user(s) who will +# invoke it (typically the user httpd runs as), and that user must +# have filesystem-level permission to access the repository. +# +# On a Windows system, you should name the hook program +# 'start-commit.bat' or 'start-commit.exe', +# but the basic idea is the same. +# +# The hook program typically does not inherit the environment of +# its parent process. For example, a common problem is for the +# PATH environment variable to not be set to its usual value, so +# that subprograms fail to launch unless invoked via absolute path. +# If you're having unexpected problems with a hook program, the +# culprit may be unusual (or missing) environment variables. +# +# Here is an example hook script, for a Unix /bin/sh interpreter. +# For more examples and pre-written hooks, see those in +# the Subversion repository at +# http://svn.collab.net/repos/svn/trunk/tools/hook-scripts/ and +# http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/ + + +REPOS="$1" +USER="$2" + +commit-allower.pl --repository "$REPOS" --user "$USER" || exit 1 +special-auth-check.py --user "$USER" --auth-level 3 || exit 1 + +# All checks passed, so allow the commit. +exit 0 Added: locks/db-logs.lock =================================================================== --- locks/db-logs.lock (rev 0) +++ locks/db-logs.lock 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1,3 @@ +This file is not used by Subversion 1.3.x or later. +However, its existence is required for compatibility with +Subversion 1.2.x or earlier. Added: locks/db.lock =================================================================== --- locks/db.lock (rev 0) +++ locks/db.lock 2009-12-06 13:35:03 UTC (rev 5939) @@ -0,0 +1,3 @@ +This file is not used by Subversion 1.3.x or later. +However, its existence is required for compatibility with +Subversion 1.2.x or earlier. |
From: ks156 <c2m...@c2...> - 2009-12-04 13:30:02
|
Author: ks156 Date: 2009-12-04 14:29:52 +0100 (Fri, 04 Dec 2009) New Revision: 5938 Modified: software_suite_v3/software/gadget/online_only/trunk/build.py Log: * Now, the script parse the gadget directories. Modified: software_suite_v3/software/gadget/online_only/trunk/build.py =================================================================== --- software_suite_v3/software/gadget/online_only/trunk/build.py 2009-12-04 13:27:02 UTC (rev 5937) +++ software_suite_v3/software/gadget/online_only/trunk/build.py 2009-12-04 13:29:52 UTC (rev 5938) @@ -9,16 +9,6 @@ from builder.GadgetPackager import GadgetPackager -gadgetsList = [ - "gadget_1bc7a418-569d-3b72-3463-ebfe5eb1442e", - "gadget_7e336960-94ea-6d50-31f7-38655786cb51", - "gadget_8dfa526b-b6e6-42b5-a913-634dbf04e19a", - "gadget_73b9a87c-1244-de8d-ef91-467db879e291", - "gadget_a11cd67a-4bae-bab6-d146-2429a97cd500", - "gadget_ee51da83-f96e-e265-e432-d009b927e5bd", - "gadget_4d6ec4f1-9fd7-4092-a3d6-dd0c6e578051", -] - # ============================================================================== # Class to retrieve the py file path. # ============================================================================== @@ -33,5 +23,10 @@ if __name__ == "__main__": basePath = localFilePath().getPath() - for gadget in gadgetsList: - GadgetPackager().createScg(os.path.join(basePath, gadget)) + + # List all the directories + directoriesList = filter (os.path.isdir, os.listdir(os.getcwd())) + for gadget in directoriesList: + # Be sure that the directory is a gadget + if gadget.find("gadget") != -1: + GadgetPackager().createScg(os.path.join(basePath, gadget)) |
From: ks156 <c2m...@c2...> - 2009-12-04 13:27:17
|
Author: ks156 Date: 2009-12-04 14:27:02 +0100 (Fri, 04 Dec 2009) New Revision: 5937 Modified: software_suite_v3/software/gadget/default/trunk/build.py Log: * Now, the script parse the gadget directories. Modified: software_suite_v3/software/gadget/default/trunk/build.py =================================================================== --- software_suite_v3/software/gadget/default/trunk/build.py 2009-12-04 12:40:55 UTC (rev 5936) +++ software_suite_v3/software/gadget/default/trunk/build.py 2009-12-04 13:27:02 UTC (rev 5937) @@ -9,21 +9,6 @@ from builder.GadgetPackager import GadgetPackager -gadgetsList = [ - "gadget_0a58d901-309a-dd6a-e6e7-be691858f9f0", - "gadget_2ba0fe92-c73f-61b5-50c5-d8de0aee9194", - "gadget_4e139371-e72a-5df7-c272-17d22f1fc258", - "gadget_5c5e7e0d-89c5-8799-3175-df2bddf5653c", - "gadget_33b14aea-907e-9d9d-7e64-c40c3bbf56fb", - "gadget_56cdb050-3bba-d814-32c5-df4b90fee8c3", - "gadget_59cce412-9224-639c-d64d-9d25de84b960", - "gadget_710c4d99-9a26-b7c4-67e5-dabf78718462", - "gadget_84628d00-1e17-62dd-eaa4-7b11436f3211", - "gadget_d71cec40-c44e-73d7-e63f-a152986354e0", - "gadget_06d0b3ba-7781-4d2d-bd48-520cfa18e0c9", - "gadget_4d6ec4f1-9fd7-4092-a3d6-dd0c6e578051", -] - # ============================================================================== # Class to retrieve the py file path. # ============================================================================== @@ -38,5 +23,10 @@ if __name__ == "__main__": basePath = localFilePath().getPath() - for gadget in gadgetsList: - GadgetPackager().createScg(os.path.join(basePath, gadget)) + + # List all the directories + directoriesList = filter (os.path.isdir, os.listdir(os.getcwd())) + for gadget in directoriesList: + # Be sure that the directory is a gadget + if gadget.find("gadget") != -1: + GadgetPackager().createScg(os.path.join(basePath, gadget)) |
From: ks156 <c2m...@c2...> - 2009-12-04 12:41:16
|
Author: ks156 Date: 2009-12-04 13:40:55 +0100 (Fri, 04 Dec 2009) New Revision: 5936 Modified: software_suite_v3/software/gadget/online_only/trunk/build.py Log: * Added the xmas gadget in the build script. this script should parse the content of the directory. It's a bit silly to define each gadgets.. Modified: software_suite_v3/software/gadget/online_only/trunk/build.py =================================================================== --- software_suite_v3/software/gadget/online_only/trunk/build.py 2009-12-04 11:57:34 UTC (rev 5935) +++ software_suite_v3/software/gadget/online_only/trunk/build.py 2009-12-04 12:40:55 UTC (rev 5936) @@ -16,6 +16,7 @@ "gadget_73b9a87c-1244-de8d-ef91-467db879e291", "gadget_a11cd67a-4bae-bab6-d146-2429a97cd500", "gadget_ee51da83-f96e-e265-e432-d009b927e5bd", + "gadget_4d6ec4f1-9fd7-4092-a3d6-dd0c6e578051", ] # ============================================================================== |
From: ks156 <c2m...@c2...> - 2009-12-04 11:57:46
|
Author: ks156 Date: 2009-12-04 12:57:34 +0100 (Fri, 04 Dec 2009) New Revision: 5935 Modified: software_suite_v3/software/plugin/plugin-merry-tuxmas/trunk/resources/plugin.xml Log: * Changed 'marry' to 'merry'. Now the plugin works. Modified: software_suite_v3/software/plugin/plugin-merry-tuxmas/trunk/resources/plugin.xml =================================================================== --- software_suite_v3/software/plugin/plugin-merry-tuxmas/trunk/resources/plugin.xml 2009-12-04 11:52:15 UTC (rev 5934) +++ software_suite_v3/software/plugin/plugin-merry-tuxmas/trunk/resources/plugin.xml 2009-12-04 11:57:34 UTC (rev 5935) @@ -1,7 +1,7 @@ <plugin> <interpreter kind="python"> - <executable>executables/plugin-marry-tuxmas.py</executable> + <executable>executables/plugin-merry-tuxmas.py</executable> </interpreter> <description> <name>Plugin Sense of humor</name> |
From: ks156 <c2m...@c2...> - 2009-12-04 11:52:31
|
Author: ks156 Date: 2009-12-04 12:52:15 +0100 (Fri, 04 Dec 2009) New Revision: 5934 Added: software_suite_v3/software/gadget/online_only/trunk/gadget_4d6ec4f1-9fd7-4092-a3d6-dd0c6e578051/ Removed: software_suite_v3/software/gadget/default/trunk/gadget_4d6ec4f1-9fd7-4092-a3d6-dd0c6e578051/ Modified: software_suite_v3/software/gadget/default/trunk/names_to_uuids_list.txt software_suite_v3/software/gadget/online_only/trunk/names_to_uuids_list.txt Log: * Moved the XMas gadget from the default list to the online list. Modified: software_suite_v3/software/gadget/default/trunk/names_to_uuids_list.txt =================================================================== --- software_suite_v3/software/gadget/default/trunk/names_to_uuids_list.txt 2009-12-04 10:09:00 UTC (rev 5933) +++ software_suite_v3/software/gadget/default/trunk/names_to_uuids_list.txt 2009-12-04 11:52:15 UTC (rev 5934) @@ -9,4 +9,3 @@ E-Mail : 84628d00-1e17-62dd-eaa4-7b11436f3211 GMail : 06d0b3ba-7781-4d2d-bd48-520cfa18e0c9 RSS : d71cec40-c44e-73d7-e63f-a152986354e0 -Marry Tuxmas : 4d6ec4f1-9fd7-4092-a3d6-dd0c6e578051 \ No newline at end of file Copied: software_suite_v3/software/gadget/online_only/trunk/gadget_4d6ec4f1-9fd7-4092-a3d6-dd0c6e578051 (from rev 5931, software_suite_v3/software/gadget/default/trunk/gadget_4d6ec4f1-9fd7-4092-a3d6-dd0c6e578051) Modified: software_suite_v3/software/gadget/online_only/trunk/names_to_uuids_list.txt =================================================================== --- software_suite_v3/software/gadget/online_only/trunk/names_to_uuids_list.txt 2009-12-04 10:09:00 UTC (rev 5933) +++ software_suite_v3/software/gadget/online_only/trunk/names_to_uuids_list.txt 2009-12-04 11:52:15 UTC (rev 5934) @@ -3,4 +3,5 @@ Tv programs : 73b9a87c-1244-de8d-ef91-467db879e291 System : a11cd67a-4bae-bab6-d146-2429a97cd500 WMP : ee51da83-f96e-e265-e432-d009b927e5bd -Webradio (de) : 8dfa526b-b6e6-42b5-a913-634dbf04e19a \ No newline at end of file +Webradio (de) : 8dfa526b-b6e6-42b5-a913-634dbf04e19a +Merry Tuxmas : 4d6ec4f1-9fd7-4092-a3d6-dd0c6e578051 |
From: jerome <c2m...@c2...> - 2009-12-04 10:09:12
|
Author: jerome Date: 2009-12-04 11:09:00 +0100 (Fri, 04 Dec 2009) New Revision: 5933 Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py Log: * Changed the way to check audio in / out peripherals * TuxDroid is now automatically set as audio in /out peripheral once detected. * Added contacts status changes notifications. Modified: software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py =================================================================== --- software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py 2009-12-04 10:06:58 UTC (rev 5932) +++ software_suite_v3/software/plugin/plugin-skype/branches/in_out_plugin/executables/plugin-skype.py 2009-12-04 10:09:00 UTC (rev 5933) @@ -114,14 +114,6 @@ #Api ready and connected so creatin other commands objects. self.synchronious = SynchroniousCommands(self.connectorObj) - #Setting Tux Droid as audio peripheral. - - if not self.synchronious.isTuxDroidAudioCard(): - if not self.synchronious.setAudioCards(): - self.throwNotification("start") - self.throwMessage('An error occured trying to set Tux Droid as audio card.') - self.throwNotification("stop") - #Initializing contacts list. #self.connectorObj.getContacts() @@ -140,6 +132,8 @@ self.asynchronious.OnOutgoingCallRefused = self.OnOutgoingRefused self.asynchronious.OnOutgoingCall = self.OnOutgoingCall self.asynchronious.OnOutgoingFinished = self.OnOutgoingFinished + + self.asynchronious.OnlineContactStatusChanged = self.ContactStatusChanged def OnIncomingRefused(self, contactHandle): @@ -206,13 +200,29 @@ self.throwNotification("stop") + def ContactStatusChanged(self, UserHandle, Status): + ''' + Event that notify a contact status changed. + ''' + #Moved 'INVISIBLE to OFFLINE' in case of contact become ivisible. + if Status == 'INVISIBLE': + Status = 'OFFLINE' + self.throwNotification("start") + self.throwMessage('{0} is now {1}', UserHandle, Status) + self.throwNotification("stop") + + def mainloop(self): ''' Run main loop. ''' while 1: time.sleep(2.0) + #Setting Tux Droid as audio peripheral. + if ( self.synchronious != None ) and ( not self.synchronious.isTuxDroidAudioCard() ): + self.synchronious.setAudioCards() + def onPluginStop(self): |