Changeset 6499


Ignore:
Timestamp:
Dec 18, 2017, 10:36:56 AM (2 years ago)
Author:
jrpelegrina
Message:

New feature. Notification of changes in documents

Location:
lliurex-gdrive/trunk/fuentes
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • lliurex-gdrive/trunk/fuentes/lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py

    r6334 r6499  
    639639
    640640                self.disable_entry_profile_dialog()
     641                self.accept_add_profile_button.hide()
     642                self.cancel_add_profile_button.hide()
    641643                #ENCODING TO UNICODE
    642644                profile=self.profile_entry.get_text()
     
    647649                self.new_mountpoint=self.mountpoint_entry.get_filename().decode("utf-8")
    648650                self.new_automount=self.automount_entry.get_state()
     651               
    649652
    650653                if not self.edition:
     
    790793               
    791794                if not self.create_profile_t.launched:
    792                         self.accept_add_profile_button.hide()
    793                         self.cancel_add_profile_button.hide()
     795                        #self.accept_add_profile_button.hide()
     796                        #self.cancel_add_profile_button.hide()
    794797               
    795798                        self.create_profile_t.start()
     
    934937
    935938                self.profile_pbar.pulse()
     939
    936940                if not self.edit_profile_t.launched:
     941                       
     942                        #self.accept_add_profile_button.hide()
     943                        #self.cancel_add_profile_button.hide()
    937944                        self.edit_profile_t.start()
    938945                        self.edit_profile_t.launched=True
    939                         self.accept_add_profile_button.hide()
    940                         self.cancel_add_profile_button.hide()
    941946
    942947                if self.edit_profile_t.done:
     
    10391044
    10401045                                self.stack.set_visible_child_name("folder")
    1041                                 self.accept_add_profile_button.show()
    1042                                 self.cancel_add_profile_button.show()
     1046                                self.accept_add_profile_button.hide()
     1047                                self.cancel_add_profile_button.hide()
    10431048                        else:
    10441049                                self.profile_msg.show()
     
    10981103                self.stack.set_transition_type(Gtk.StackTransitionType.SLIDE_RIGHT)
    10991104                self.stack.set_visible_child_name("edit")       
    1100 
     1105                self.accept_add_profile_button.show()
     1106                self.cancel_add_profile_button.show()
     1107               
    11011108                self.gdrive_folder_label.show()
    11021109                self.gdrive_folder_entry.show()
  • lliurex-gdrive/trunk/fuentes/lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator

    r6334 r6499  
    88
    99import os
     10from os import listdir
     11from os.path import isfile, isfile,isdir,join
    1012import threading
    1113import subprocess
     
    1618import notify2
    1719import time
     20import datetime
     21import copy
    1822
    1923
     
    4953class LliurexGdriveIndicator:
    5054
    51         WATCH_DIR=os.path.expanduser("~/.config/lliurex-google-drive-profiles/configProfiles")
     55        WATCH_DIR=os.path.expanduser("~/.config/lliurex-google-drive-profiles/")
    5256       
    5357        def __init__(self,icon_name):
     
    6670                self.profiles_info=self.LliurexGoogleDriveManager.profiles_config.copy()
    6771                self.current_status={}
     72                self.blacklist=['.Trash','.Trash-1000']
     73                self.init_files=[]
     74                self.update_files=[]
     75                self.local_changes={}
    6876
    6977                       
     
    123131        def start_inotify(self):
    124132
    125                 t=threading.Thread(target=self._inotify)
    126                 t.daemon=True
    127                 t.start()
     133                inotify_t=threading.Thread(target=self._inotify)
     134                inotify_t.daemon=True
     135                inotify_t.start()
    128136
    129137        #def start_inotif
     
    134142               
    135143                wm=WatchManager()
    136                 mask=pyinotify.IN_CLOSE_WRITE
     144                mask= pyinotify.IN_CLOSE_WRITE
     145                     
    137146                       
    138147                class Process_handler(ProcessEvent):
     
    141150                               
    142151                                self.main=main
     152                       
    143153                               
    144154                        def process_IN_CLOSE_WRITE(self,event):
     
    146156                                self.main.update_info()
    147157                                self.main.initial_connection=True
    148                                 for profile in self.main.update_profiles:
    149                                         if not profile in self.main.profiles_info:
    150                                                 mountpoint=self.main.update_profiles[profile]["mountpoint"]
    151                                                 self.main.add_menu_item(profile,mountpoint)
    152 
    153                                 for item in self.main.menu.get_children():
    154                                         if item.profile !="":
    155                                                 if not item.profile in self.main.update_profiles:
    156                                                         self.main.menu.remove(item)     
    157                                
    158                                 self.main.profiles_info=self.main.update_profiles.copy()
    159                                 self.main.menu.show_all()                                       
     158
     159                                if os.path.expanduser(event.pathname)==os.path.join(LliurexGdriveIndicator.WATCH_DIR,"configProfiles"):
     160                                       
     161                                        for profile in self.main.update_profiles:
     162                                                mountpoint_new=self.main.update_profiles[profile]["mountpoint"]
     163                                                gdriveFolder_new=self.main.update_profiles[profile]["gdrive_folder"]
     164                                                if not profile in self.main.profiles_info:
     165                                                        self.main.add_menu_item(profile,mountpoint_new)
     166                                                        wdd=wm.add_watch(mountpoint_new,mask,rec=True)
     167                                                else:
     168                                                        mountpoint_old=self.main.profiles_info[profile]["mountpoint"]
     169                                                        gdriveFolder_old=self.main.profiles_info[profile]["gdrive_folder"]
     170                                                        if (mountpoint_new != mountpoint_old) or (gdriveFolder_new != gdriveFolder_old):
     171                                                                '''
     172                                                                try:
     173                                                                        ide=wm.get_wd(mountpoint_old)
     174                                                                        if id !=None:
     175                                                                                wdd=wm.rm_watch(ide,rec=False)
     176                                                                except Exception as e:
     177                                                                        print "ERROR"
     178                                                                        print str(e)
     179                                                                        pass   
     180                                                                '''     
     181                                                                self.main.remove_folder_info(profile)
     182                                                                self.main.init_folders_info(profile,mountpoint_new)
     183                                                                wdd=wm.add_watch(mountpoint_new,mask,rec=True)
     184
     185                                        profile_rm=""
     186                                        for item in self.main.menu.get_children():
     187                                                if item.profile !="":
     188                                                        if not item.profile in self.main.update_profiles:
     189                                                                self.main.menu.remove(item)
     190                                                                profile_rm=item.profile
     191
     192                                        if profile_rm !="":
     193                                                mountpoint=self.main.profiles_info[profile_rm]["mountpoint"]
     194                                                '''
     195                                                try:
     196                                                        ide=wm.get_wd(mountpoint)
     197                                                        wdd=wm.rm_watch(ide,rec=False)
     198                                                except Exception as e:
     199                                                        print str(e)
     200                                                        pass
     201                                                '''     
     202
     203                                                self.main.remove_folder_info(profile_rm)                               
    160204                                                               
    161        
     205
     206                                        self.main.profiles_info=self.main.update_profiles.copy()
     207                                        self.main.menu.show_all()
     208
     209                                else:
     210                                        if 'ountToken' in os.path.basename(event.pathname):
     211                                                        tmp_profile=os.path.basename(event.pathname).split("__")[0]
     212                                                        tmp_profile=tmp_profile.decode("utf-8")
     213                                                        for item in self.main.profiles_info:
     214                                                                if item==tmp_profile:
     215                                                                        tmp_mountpoint=self.main.profiles_info[item]["mountpoint"]
     216                                                                        '''
     217                                                                        try:
     218                                                                                ide=wm.get_wd(tmp_mountpoint)
     219                                                                                if id !=None:
     220                                                                                        wdd=wm.rm_watch(ide,rec=False)
     221                                                                        except Exception as e:
     222                                                                                print str(e)
     223                                                                                pass
     224                                                                        '''     
     225                                                                        self.main.remove_folder_info(item)             
     226                                                                        if 'MountToken' in os.path.basename(event.pathname):
     227                                                                                self.main.init_folders_info(item,tmp_mountpoint)
     228                                                                                wdd=wm.add_watch(tmp_mountpoint,mask,rec=True)
     229                                                                       
     230                                        else:   
     231                                                time.sleep(2)
     232                                                t=join(event.path,event.name)
     233                                                if isfile(t):
     234                                                       
     235                                                        '''
     236                                                        for item in self.main.profiles_info:
     237                                                                tmp_mount=self.main.profiles_info[item]["mountpoint"]
     238                                                               
     239                                                                if event.path in tmp_mount:
     240                                                                        cmd="google-drive-ocamlfuse -cc -label %s"%item
     241                                                                        os.system(cmd)
     242                                                        '''             
     243                                                                                       
     244                                                        try:
     245                                                               
     246                                                                state=os.stat(t)
     247                                                               
     248                                                        except Exception as e:
     249                                                                print str(e)
     250                                                                t=t.split('trashinfo')
     251                                                                t=t[0]+'trashinfo'
     252                                                                state=os.stat(t)
     253                                                               
     254                                                        t=t.decode("utf-8")                     
     255                                                        access=datetime.datetime.fromtimestamp(state.st_mtime)
     256                                                        self.main.local_changes[t]=access
     257                                                                               
     258               
    162259                notifier=Notifier(wm,Process_handler(self))
    163260                wdd=wm.add_watch(LliurexGdriveIndicator.WATCH_DIR,mask,rec=True)
    164                        
     261               
     262                for profile in self.profiles_info:
     263                        path=os.path.expanduser(self.profiles_info[profile]["mountpoint"])
     264                        wdd=wm.add_watch(path,mask,rec=True)
     265
     266               
    165267                while True:
    166268                        try:
    167                                        
     269                               
    168270                                notifier.process_events()
     271
    169272                                if notifier.check_events():
    170273                                        notifier.read_events()
    171                                
     274
    172275                        except Exception as e:
     276                                print str(e)
    173277                                notifier.stop()
    174                                        
     278               
    175279                return False
     280                       
    176281       
    177282        #def _inotify
     
    238343                item.set_label(label_item)
    239344                item.set_tooltip_text(_("Click if do not see all the files in the Google Drive account"))
    240                 item.connect("activate",self.refresh_cache,profile)
     345                item.connect("activate",self.refresh_cache_clicked,profile)
    241346                item.profile=profile
    242347                item.size=False
     
    249354                item.status=False
    250355                self.menu.insert(item,4)
     356                self.init_folders_info(profile,mountpoint)
     357
    251358
    252359        #def add_menu_item     
     
    298405        #def populate_menu
    299406       
    300        
     407        def init_folders_info(self,profile,mountpoint):
     408
     409                self.folders_info={}
     410                self.folders_info['profile']=profile
     411                self.files=set()
     412                self.controlDirectory(mountpoint)
     413                self.folders_info['files']=self.files
     414                self.init_files.append(self.folders_info)
     415                       
     416        #def init_folders_info                         
     417
     418
     419        def controlDirectory(self,path):
     420               
     421               
     422                for item in listdir(path):
     423                        if item not in self.blacklist:
     424                               
     425                                t=join(path,item)
     426
     427                                if isfile(t):
     428                                       
     429                                        compartido=False
     430                                        state=os.stat(t)
     431                                        access=datetime.datetime.fromtimestamp(state.st_mtime)
     432                                        tmp=t+":__"+str(access)
     433                                       
     434                                        self.files.add(tmp)
     435                                else:
     436                                        if isdir(t):
     437                                                self.controlDirectory(t)       
     438
     439        #def controlDirectory                                   
     440                                               
     441        def remove_folder_info(self,profile):
     442
     443                i=0
     444                for item in self.init_files:
     445                        if profile ==item["profile"]:
     446                                self.init_files.pop(i)
     447                        i=i+1   
     448
     449        #def remove_folder_info         
     450
     451
    301452        def item_clicked(self,widget,profile):
    302453       
     
    416567        #def open_folder
    417568
    418         def refresh_cache (self,widget,profile):
     569        def refresh_cache_clicked (self,widget,profile):
     570
     571                message=self.refresh_cache_command(profile)
     572               
     573                message=message.decode("UTF-8")
     574
     575                time.sleep(0.5)
     576                self.show_message(profile + ": " + message)     
     577
     578        #def refresh_cache_menu
     579
     580        def refresh_cache_command(self,profile):
     581
     582                profile=profile.encode("utf-8")
    419583
    420584                try:
     
    425589                except Exception as e:
    426590                        message=_("An error occurred updating the cache. Try again")
    427                
    428                 message=message.decode("UTF-8")
    429 
    430                 time.sleep(0.5)
    431                 self.show_message(profile + ": " + message)     
    432 
    433         #def refresh_cache     
     591
     592                return message 
     593
     594        #def refresh_cache_command     
    434595
    435596        def open_gui(self,widget):
     
    451612                        used_size=_("Used: not available")
    452613               
    453                 elif    status_info["status"]:
     614                elif status_info["status"]:
    454615                        img=Gtk.Image.new_from_file(MOUNT_ON_IMAGE)
    455616                        tooltip=_("Mounted. Clicked to dismount now")
     
    483644               
    484645                else:   
     646                        self.update_files=[]
    485647                        self.checking_status=False
    486648                        #self.connect_threads.pop(id)
    487649                        for profile in self.profiles_info:
    488650                                if self.connection:
     651                                        self.refresh_cache_command(profile)
    489652                                        mountpoint=self.profiles_info[profile]["mountpoint"]
    490653                                        status_info=self.LliurexGoogleDriveManager.check_mountpoint_status(mountpoint)
     654                                        self.update_folders_info(profile,mountpoint)
     655
    491656                                else:
    492657                                        status_info={}
     
    507672               
    508673                #self.result_connect_threads.pop(id)           
     674                self.notify_changes()
    509675                return False   
    510676
     
    517683        #def check_connect     
    518684
    519        
     685        def update_folders_info(self,profile,mountpoint):
     686
     687                self.folders_info={}
     688                self.folders_info['profile']=profile
     689                self.files=set()
     690               
     691                self.controlDirectory(mountpoint)
     692                self.folders_info['files']=self.files
     693                self.update_files.append(self.folders_info)     
     694
     695        #def update_folders_info       
     696                               
     697
     698        def notify_changes(self):
     699
     700
     701                if self.init_files!=self.update_files:
     702                        toInfo=self.remove_local_changes()
     703
     704                        for item in toInfo:
     705                                numFiles_up=0
     706                                numFiles_rm=0
     707                                numFiles_add=0
     708                                p=item['profile']
     709                                if 'files_changes' in item:
     710                                        numFiles_up=len(item['files_changes'])
     711                               
     712                                if 'files_delete' in item:     
     713                                        numFiles_rm=len(item['files_delete'])
     714                               
     715                                if 'files_add' in item:
     716                                        numFiles_add=len(item['files_add'])
     717                               
     718                                if numFiles_up>0 or numFiles_rm>0 or numFiles_add>0:
     719                                        message1=_('Changes in last 15 minutes in ')+p.encode("utf-8")+':\n'
     720                                        message_up=""
     721                                        message_rm=""
     722                                        message_add=""         
     723                                        if numFiles_up>0:
     724                                                message_up=_("-Files updated: ")
     725                                                if numFiles_up==1:
     726                                                        for element in item['files_changes']:
     727                                                                file=os.path.basename(element.split(":__")[0])
     728                                                                file_split=os.path.splitext(file)
     729                                                                if file_split[1]==".desktop":
     730                                                                        file=file_split[0]
     731                                                                message_up=message_up + file.encode("utf-8") +'\n'
     732                                                                       
     733                                                else:   
     734                                                        message_up= message_up + str(numFiles_up) + '\n'
     735
     736                                        if numFiles_add>0:
     737                                                message_add=_("-Files added: ")
     738                                                if numFiles_add==1:
     739                                                        for element in item['files_add']:
     740                                                                file=os.path.basename(element.split(":__")[0])
     741                                                                file_split=os.path.splitext(file)
     742                                                                if file_split[1]==".desktop":
     743                                                                        file=file_split[0]
     744                                                                message_add=message_add +file.encode("utf-8") +'\n'
     745                                                else:
     746                                                               
     747                                                        message_add=message_add + str(numFiles_add) + '\n'
     748
     749                                        if numFiles_rm>0:
     750                                                message_rm=_("-Files deleted: ")       
     751                                                if numFiles_rm==1:
     752                                                        for element in item['files_delete']:
     753                                                                file=os.path.basename(element.split(":__")[0]) 
     754                                                                file_split=os.path.splitext(file)
     755                                                                if file_split[1]==".desktop":
     756                                                                        file=file_split[0]
     757                                                                message_rm=message_rm + file.encode("utf-8") +'\n'
     758                                                else:           
     759                                                        message_rm=message_rm +str(numFiles_rm)
     760
     761                                        self.show_message(message1 + message_add + message_up + message_rm)
     762
     763                self.init_files=copy.copy(self.update_files)
     764                self.local_changes={}
     765
     766        #def notify_changes
     767       
     768        def remove_local_changes(self):
     769
     770                changes=self.detect_folder_changes()
     771
     772                changes_toNotify=[]
     773               
     774                if len(changes)>0:
     775
     776                        for item in changes:
     777                                tmp_changes=[]
     778                                tmp_deletes=[]
     779                                tmp_add=[]
     780                                to_info={}
     781                                to_info['profile']=item['profile']
     782
     783                                if 'files_changes' in item:
     784                                        tmp_changes=item['files_changes']
     785                                        toInfo_up=tmp_changes.copy()
     786                                if 'files_deletes' in item:
     787                                        tmp_deletes=item['files_deletes']       
     788                                        toInfo_rm=tmp_deletes.copy()
     789
     790                                if 'files_add' in item:
     791                                        tmp_add=item['files_add']       
     792                                        toInfo_add=tmp_add.copy()
     793
     794
     795                                if len(self.local_changes)>0:
     796                                        if len(tmp_changes)>0:
     797                                                for item in tmp_changes:
     798                                                        #file=item.keys()[0]
     799                                                        file=item.split(":__")[0]
     800                                                        data=item.split(":__")[1]
     801                                                        for i in self.local_changes:
     802                                                                if file==i:
     803                                                                        data=datetime.datetime.strptime(data,'%Y-%m-%d %H:%M:%S')
     804                                                                        if data<=self.local_changes[i]:
     805                                                                                toInfo_up.remove(item)
     806                                                to_info['files_changes']=toInfo_up                             
     807                                        if len(tmp_deletes)>0:
     808                                                for item in tmp_deletes:
     809                                                        file=os.path.basename(item.split(":__")[0])
     810                                                        file=os.path.splitext(file)[0]
     811                                                        data=item.split(":__")[1]
     812                                                        for i in self.local_changes:
     813                                                                if file in i:
     814                                                                        data=datetime.datetime.strptime(data,'%Y-%m-%d %H:%M:%S')
     815                                                                        if data<=self.local_changes[i]:
     816                                                                                toInfo_rm.remove(item)
     817                                                to_info['files_delete']=toInfo_rm                                       
     818
     819                                        if len(tmp_add)>0:
     820                                                for item in tmp_add:
     821                                                        file=item.split(":__")[0]
     822                                                        data=item.split(":__")[1]
     823                                                        for i in self.local_changes:
     824                                                                if file==i:
     825                                                                        data=datetime.datetime.strptime(data,'%Y-%m-%d %H:%M:%S')
     826                                                                        if data<=self.local_changes[i]:
     827                                                                                toInfo_add.remove(item)
     828                                                to_info['files_add']=toInfo_add
     829                                else:
     830                                        to_info['files_changes']=tmp_changes
     831                                        to_info['files_delete']=tmp_deletes
     832                                        to_info['files_add']=tmp_add           
     833
     834                                changes_toNotify.append(to_info)
     835
     836                return changes_toNotify
     837
     838        #def remove_local_changes
     839
     840
     841        def detect_folder_changes(self):
     842
     843                changes=[]
     844                               
     845               
     846                for item in self.update_files:
     847                        info_changes={}
     848                        info_changes['profile']=item['profile']
     849                        final_files=item['files']
     850
     851                        for item in self.init_files:
     852                                profile_init=item['profile']
     853                                original_files=item['files']
     854                                if len(original_files)>0:
     855                                        if len(final_files)>0:
     856                                                if info_changes['profile']==profile_init:
     857                                                        diff_changes=final_files.difference(original_files)
     858                                                        diff_deletes=original_files.difference(final_files)
     859                                                       
     860                                                        if len(diff_changes)>0:
     861                                                                changes.append(info_changes)
     862
     863                                                                if len(diff_deletes)>0:
     864                                                                                tmp_del=diff_deletes.copy()
     865                                                                                tmp_add=diff_changes.copy()
     866                                                                                for item in diff_deletes:
     867                                                                                        file_d=item.split(":__")[0]
     868                                                                                        for element in diff_changes:
     869                                                                                                file_c=element.split(":__")[0]
     870                                                                                                if file_d == file_c:
     871                                                                                                        tmp_del.remove(item)
     872                                                                                                        tmp_add.remove(element)
     873
     874                                                                                if len(tmp_del)>0:
     875                                                                                        info_changes['files_deletes']=tmp_del
     876
     877                                                                                if len(tmp_add)>0:
     878                                                                                        info_changes['files_add']=tmp_add
     879                                                                                        tmp_up=diff_changes.difference(tmp_add)
     880                                                                                        info_changes['files_changes']=tmp_up
     881                                                                                else:
     882                                                                                        info_changes['files_changes']=diff_changes     
     883                                                                                               
     884                                                                else:
     885                                                                        info_changes['files_add']=diff_changes                 
     886                                                        else:
     887                                                                if len(original_files)>len(final_files) and len(diff_deletes)>0:
     888                                                                        info_changes['files_deletes']=diff_deletes
     889                                                                        changes.append(info_changes)
     890                               
     891                                                       
     892                return changes 
     893
     894        #def detect_folder_changes                                                                     
     895       
     896
    520897        def show_message(self,message):
    521898                notify2.init("test")
  • lliurex-gdrive/trunk/fuentes/lliurex-po/lliurex-gdrive-gui/es.po

    r6334 r6499  
    99"Project-Id-Version: \n"
    1010"Report-Msgid-Bugs-To: \n"
    11 "POT-Creation-Date: 2017-10-23 12:54+0200\n"
    12 "PO-Revision-Date: 2017-11-16 09:02+0100\n"
     11"POT-Creation-Date: 2017-12-11 10:16+0100\n"
     12"PO-Revision-Date: 2017-12-18 08:58+0100\n"
    1313"Last-Translator: lliurex <lliurex@gva.es>\n"
    1414"Language-Team: Spanish <es@li.org>\n"
     
    3434
    3535#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:294
    36 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:283
     36#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:394
    3737msgid "Close"
    3838msgstr "Cerrar"
     
    5050#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:411
    5151#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:704
    52 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:339
     52#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:503
    5353msgid "Applying changes..."
    5454msgstr "Aplicando cambios..."
     
    5959
    6060#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:623
    61 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:438
     61#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:612
    6262msgid "Without connection. Clicked to update"
    6363msgstr "Sin conexión. Pulse para actualizar"
    6464
    6565#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:627
    66 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:443
     66#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:617
    6767msgid "Mounted. Clicked to dismount now"
    6868msgstr "Montado. Pulse para desmontar ahora"
    6969
    7070#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:631
    71 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:448
     71#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:622
    7272msgid "Dismounted. Clicked to mount now"
    7373msgstr "Desmontado. Pulse para montar ahora"
     
    9090
    9191#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:838
    92 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:360
     92#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:524
    9393msgid "Changes applied successfully"
    9494msgstr "Cambios aplicados correctamente"
     
    123123
    124124#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:862
    125 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:348
     125#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:512
    126126msgid "Error: Unable to connect with google"
    127127msgstr "Error: Imposible conectar con Google"
    128128
    129129#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:865
    130 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:358
     130#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:522
    131131msgid "Status updated. Now you can change it"
    132132msgstr "Estado actualizado. Ahora puedes cambiarlo"
     
    238238msgstr "Añadir perfil"
    239239
    240 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:225
     240#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:334
    241241msgid "Open folder"
    242242msgstr "Abrir carpeta"
    243243
    244 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:234
     244#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:343
    245245msgid "Update cache"
    246246msgstr "Actualizar caché"
    247247
    248 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:236
     248#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:345
    249249msgid "Click if do not see all the files in the Google Drive account"
    250250msgstr ""
     
    252252"Google Drive"
    253253
    254 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:266
     254#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:377
    255255msgid "Open Lliurex GDrive"
    256256msgstr "Abrir Lliurex GDrive"
    257257
    258 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:352
     258#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:516
    259259msgid "dismount"
    260260msgstr "desmontar"
    261261
    262 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:354
     262#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:518
    263263msgid "mount"
    264264msgstr "montar"
    265265
    266 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:355
     266#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:519
    267267msgid "Error: Unable to "
    268268msgstr "Error: Imposible de "
    269269
    270 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:411
     270#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:588
    271271msgid "Cache updated successfully"
    272272msgstr "Caché actualizada correctamente"
    273273
    274 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:414
     274#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:591
    275275msgid "An error occurred updating the cache. Try again"
    276276msgstr "Se ha producido un error actualizando la caché. Inténtelo de nuevo"
    277277
    278 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:439
    279 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:449
     278#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:613
     279#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:623
    280280msgid "Used: not available"
    281281msgstr "Usado: no disponible"
    282282
    283 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:444
     283#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:618
    284284#, python-format
    285285msgid "Used: %s of %s"
    286286msgstr "Usado: %s de %s"
    287287
     288#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:720
     289msgid "Changes in last 15 minutes in "
     290msgstr "Cambios en los últimos 15 minutos en "
     291
     292#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:725
     293msgid "-Files updated: "
     294msgstr "-Archivos actualizados: "
     295
     296#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:738
     297msgid "-Files added: "
     298msgstr "-Archivos nuevos: "
     299
     300#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:751
     301msgid "-Files deleted: "
     302msgstr "-Archivos eliminados: "
     303
    288304#~ msgid "Error: unable to mount mount point"
    289305#~ msgstr "Error: imposible montar el punto de montaje"
  • lliurex-gdrive/trunk/fuentes/lliurex-po/lliurex-gdrive-gui/lliurex-gdrive.pot

    r6334 r6499  
    99"Project-Id-Version: PACKAGE VERSION\n"
    1010"Report-Msgid-Bugs-To: \n"
    11 "POT-Creation-Date: 2017-10-23 12:53+0200\n"
     11"POT-Creation-Date: 2017-12-11 10:16+0100\n"
    1212"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1313"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    3232
    3333#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:294
    34 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:283
     34#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:394
    3535msgid "Close"
    3636msgstr ""
     
    4848#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:411
    4949#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:704
    50 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:339
     50#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:503
    5151msgid "Applying changes..."
    5252msgstr ""
     
    5757
    5858#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:623
    59 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:438
     59#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:612
    6060msgid "Without connection. Clicked to update"
    6161msgstr ""
    6262
    6363#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:627
    64 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:443
     64#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:617
    6565msgid "Mounted. Clicked to dismount now"
    6666msgstr ""
    6767
    6868#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:631
    69 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:448
     69#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:622
    7070msgid "Dismounted. Clicked to mount now"
    7171msgstr ""
     
    8888
    8989#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:838
    90 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:360
     90#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:524
    9191msgid "Changes applied successfully"
    9292msgstr ""
     
    121121
    122122#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:862
    123 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:348
     123#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:512
    124124msgid "Error: Unable to connect with google"
    125125msgstr ""
    126126
    127127#: ../lliurex-gdrive-gui.install/usr/share/lliurex-gdrive/ProfileBox.py:865
    128 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:358
     128#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:522
    129129msgid "Status updated. Now you can change it"
    130130msgstr ""
     
    232232msgstr ""
    233233
    234 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:225
     234#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:334
    235235msgid "Open folder"
    236236msgstr ""
    237237
    238 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:234
     238#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:343
    239239msgid "Update cache"
    240240msgstr ""
    241241
    242 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:236
     242#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:345
    243243msgid "Click if do not see all the files in the Google Drive account"
    244244msgstr ""
    245245
    246 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:266
     246#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:377
    247247msgid "Open Lliurex GDrive"
    248248msgstr ""
    249249
    250 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:352
     250#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:516
    251251msgid "dismount"
    252252msgstr ""
    253253
    254 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:354
     254#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:518
    255255msgid "mount"
    256256msgstr ""
    257257
    258 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:355
     258#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:519
    259259msgid "Error: Unable to "
    260260msgstr ""
    261261
    262 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:411
     262#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:588
    263263msgid "Cache updated successfully"
    264264msgstr ""
    265265
    266 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:414
     266#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:591
    267267msgid "An error occurred updating the cache. Try again"
    268268msgstr ""
    269269
    270 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:439
    271 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:449
     270#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:613
     271#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:623
    272272msgid "Used: not available"
    273273msgstr ""
    274274
    275 #: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:444
     275#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:618
    276276#, python-format
    277277msgid "Used: %s of %s"
    278278msgstr ""
     279
     280#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:720
     281msgid "Changes in last 15 minutes in "
     282msgstr ""
     283
     284#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:725
     285msgid "-Files updated: "
     286msgstr ""
     287
     288#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:738
     289msgid "-Files added: "
     290msgstr ""
     291
     292#: ../lliurex-gdrive-indicator.install/usr/bin/lliurexGdriveIndicator:751
     293msgid "-Files deleted: "
     294msgstr ""
  • lliurex-gdrive/trunk/fuentes/python-lliurex-gdrive/lliurex/lliurexgdrive/__init__.py

    r6334 r6499  
    329329                                        else:
    330330                                                tmp_mountpoint=tempfile.mkdtemp('_Gdrive')
    331                                                 cmd=self.clean_cache%profile
     331                                                cmd=self.clean_cache%profile.encode("utf-8")
    332332                                                os.system(cmd)
    333333                                                self.mount_drive(profile,tmp_mountpoint)
     
    597597                result={}
    598598                status=self.check_mountpoint_status(mountpoint,True)
     599                token_mount=profile + "__MountToken"
     600                token_mount_path=os.path.join(self.config_dir,token_mount)
     601                token_dismount=profile + "__DismountToken"
     602                token_dismount_path=os.path.join(self.config_dir,token_dismount)
     603
    599604       
    600605                if status["status"]==None:
     
    606611                                if status['status']:
    607612                                        result=self.dismount_mountpoint(mountpoint,profile)
     613                                        f=open(token_dismount_path,'w')
     614                                        f.close()
     615                                        os.remove(token_dismount_path)
    608616                                else:
    609617                                        if not status['error']:
    610618                                                result=self.mount_drive(profile,mountpoint)
     619                                                f=open(token_mount_path,'w')
     620                                                f.close()
     621                                                os.remove(token_mount_path)
    611622                                        else:
    612623                                                result['result']=False
     
    641652                directory=[]
    642653               
    643 
    644                 mountpoint=self.profiles_config[profile]["mountpoint"]
     654               
     655                mountpoint=self.profiles_config[profile.decode("utf-8")]["mountpoint"]
     656
    645657                       
    646658               
    647659                try:
    648                         root_folder=self.profiles_config[profile]["root_folder"]
     660                        root_folder=self.profiles_config[profile.decode("utf-8")]["root_folder"]
    649661                except Exception as e:
    650662                        root_folder=False
     
    680692                       
    681693                        tmp_mountpoint=tempfile.mkdtemp('_Gdrive')                                     
    682                         result=self.mount_drive(profile,tmp_mountpoint)
     694                        result=self.mount_drive(profile.decode("utf-8"),tmp_mountpoint)
    683695                               
    684696                        mountpoint=tmp_mountpoint
Note: See TracChangeset for help on using the changeset viewer.