version_user = self.pref.get('iramuteq','version_nb').split('.')
except NoOptionError :
return True
+ userab = False
+ globab = False
if version_user :
version_user[0] = int(version_user[0])
version_user[1] = int(version_user[1])
version_glob[0] = int(version_glob[0])
version_glob[1] = int(version_glob[1])
+ if len(version_user) == 3 :
+ if 'a' in version_user[2] :
+ userab = 'a'
+ version_user[2] = int(version_user[2].replace('a', ''))
+ elif 'b' in version_user[2] :
+ userab = 'b'
+ version_user[2] = int(version_user[2].replace('b', ''))
+ else :
+ version_user[2] = int(version_user[2])
+ if len(version_glob) == 3 :
+ if 'a' in version_glob[2] :
+ globab = 'a'
+ version_glob[2] = int(version_glob[2].replace('a', ''))
+ elif 'b' in version_glob[2] :
+ globab = 'b'
+ version_glob[2] = int(version_glob[2].replace('b', ''))
+ else :
+ version_glob[2] = int(version_glob[2])
if len(version_user) == len(version_glob) :
if version_glob > version_user :
return True
+ elif version_glob == version_user :
+ if globab == userab :
+ return False
+ elif globab > userab :
+ return True
+ else :
+ return False
else :
return False
- if len(version_glob) == 2 :
- if version_glob[:2] >= version_user[:2] :
+ else :
+ if version_glob > version_user :
return True
else :
return False
- elif len(version_glob) == 3 :
- if version_glob[:2] <= version_user[:2] :
- return False
- else :
- return True
def UpgradeConf(self) :
log.info('upgrade conf')
if progpaths != [] :
for progpath in progpaths :
rpath = os.path.join(progpath, "R")
- if os.path.exists(rpath) :
- for i in range(13,20):
- for j in range(0,15):
- path=os.path.join(rpath,"R-2."+str(i)+"."+str(j),'bin','R.exe')
- if os.path.exists(path):
- BestPath=path
+ if os.path.exists(rpath) :
+ for maj in range(2,6) :
+ for i in range(0,30):
+ for j in range(0,20):
+ for poss in ['', 'i386', 'x64'] :
+ path=os.path.join(rpath,"R-%i.%i.%i" % (maj, i, j),'bin',poss,'R.exe')
+ if os.path.exists(path):
+ BestPath=path
return BestPath
def FindRPathNix():
BestPath='/usr/bin/R'
elif os.path.exists('/usr/local/bin/R'):
BestPath='/usr/local/bin/R'
+ elif os.path.exists('/Library/Frameworks/R.framework/Resources/bin/R') :
+ BestPath='/Library/Frameworks/R.framework/Resources/bin/R'
return BestPath
def RLibsAreInstalled(self) :
else :
return True
-def install_textometrieR(self) :
- dlg = wx.ProgressDialog("Installation de textometrieR",
- "Veuillez patientez...",
- maximum= 2,
- parent=self,
- style=wx.PD_APP_MODAL | wx.PD_AUTO_HIDE | wx.PD_ELAPSED_TIME | wx.PD_CAN_ABORT
- )
- dlg.Center()
- dlg.Update(1, 'Installation de textometrieR')
- path = os.path.join(self.AppliPath, 'Rlib', 'textometrieR')
- exec_RCMD(self.RPath, path)
- dlg.Update(2,'fini')
- dlg.Destroy()
-
def CheckRPackages(self):
- listdep = ['ca', 'rgl', 'gee', 'ape', 'igraph','proxy', 'wordcloud', 'irlba', 'textometry']
+ listdep = ['ca', 'rgl', 'gee', 'ape', 'igraph','proxy', 'wordcloud',
+ 'irlba', 'textometry', 'intergraph', 'sna', 'network']
nolib = []
i=0
dlg = wx.ProgressDialog("Test des librairies de R", "test en cours...", maximum = len(listdep), parent=self, style=wx.PD_APP_MODAL | wx.PD_AUTO_HIDE | wx.PD_ELAPSED_TIME | wx.PD_CAN_ABORT)
log.info('packages %s : OK' % bib)
dlg.Update(len(listdep),'fini')
dlg.Destroy()
- install_textoR = False
- #if 'textometrieR' in nolib :
- # nolib.pop(nolib.index('textometrieR'))
- # install_textoR = True
if nolib != [] :
txt = '\n'.join(nolib)
msg = u"""Les bibliothèques de R suivantes sont manquantes :
%s
Sans ces bibliothèques, IRamuteq ne fonctionnera pas.
-
+
- Vous pouvez installer ces bibliothèques manuellement :
Cliquez sur Annuler
Lancez R
Tapez install.packages('nom de la bibiothèque')
-
+
- ou laisser IRamuteq les installer automatiquement en cliquant sur VALIDER .
Les bibliothèques seront téléchargées depuis le site miroir de R %s.
""" % (txt, self.pref.get('iramuteq','rmirror'))
dlg.Update(len(nolib) + 1, 'fin')
dlg.Destroy()
dial.Destroy()
- if install_textoR :
- install_textometrieR(self)
- if nolib == [] and not install_textoR :
+ if nolib == [] :
self.pref.set('iramuteq', 'rlibs', True)
with open(self.ConfigPath['preferences'], 'w') as f :
self.pref.write(f)