Ignore:
Timestamp:
Aug 30, 2010, 6:59:29 PM (16 years ago)
Author:
civer
Message:

[ IPK ]

  • added AddonManager 2.09 THX Bauernbub

[AAFPanel]

  • fix
Location:
ipk/source/system_addonmanager_2_0
Files:
2 added
5 edited

Legend:

Unmodified
Added
Removed
  • ipk/source/system_addonmanager_2_0/CONTROL/control

    r3767 r3869  
    11Package: enigma2-plugin-system-addonmanager
    2 Version: 2.08
     2Version: 2.09
    33Architecture: sh4
    44OE: This is the AAF- AddonManager. Maybe you know the plugin from BA / FullUSB images!
     
    77Maintainer: AAF
    88Homepage: http://www.aaf-digital.info
    9 Description: AddonManager v2.08
     9Description: AddonManager v2.09
    1010Source: http://www.aaf-digital.info
  • ipk/source/system_addonmanager_2_0/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/backup.sh

    • Property svn:executable set to *
    r3767 r3869  
    1111boxtyp="`cat /proc/stb/info/model`"
    1212
    13 # all settings are saved, but the restore is defined in the AM-Menu
    14 settings=y
    15 camconfig=y
    16 plugins=y
    17 network=y
    18 samba=y
    19 bilder=y
    20 sonstige=y
    21 
     13# check for saved settings
     14if [ ! -e /var/etc/restore.cfg ]; then
     15  # make a default and say all yes
     16  settings=y
     17  binarys=y
     18  camconfig=y
     19  plugins=y
     20  network=y
     21  samba=y
     22  bilder=y
     23  sonstige=y
     24  addonmanager=y
     25  backup=y
     26  cp /usr/lib/enigma2/python/Plugins/Extensions/AddonManager/restore* /var/etc/
     27else
     28  . /var/etc/restore.cfg   # read config from Addon-Manager
     29fi
    2230
    2331if [ "$boxtyp" == "dm8000" ]
    2432  then
    25     DIR="/media/hdd/backup_vu"
     33    BOXDIR="backup_vu"
    2634    echo -e "***********************************************************"
    2735    echo -e "**************Sicherung VU Plus oder Dreambox**************"
    2836    echo -e "***********************************************************\n"
    2937  else
    30     DIR="/media/hdd/backup_fortis"
     38    BOXDIR="backup_fortis"
    3139    echo -e "***********************************************************"
    3240    echo -e "**************Sicherung Fortis Box gestartet **************"
    3341    echo -e "***********************************************************\n"
    34 
    3542fi
    3643
    3744echo -e "\nLege Ordner und die Sicherungsdatei an"
     45
     46if [ `mount | grep "on /var/swap" | wc -l` -ge 1 ]; then DIR="/var/swap/$BOXDIR"; fi
     47if [ `mount | grep "on /media/hdd" | wc -l` -eq 1 ]; then DIR="/media/hdd/$BOXDIR"; fi
     48
     49
     50
     51# make a backup copy
     52if [ -e "$DIR" ]; then
     53  echo -e "\nLege eine Sicherungsdatei des alten Backup an"
     54  oldtime=`date +%d.%m_%H.%M`
     55  echo "---> $DIR"_"$oldtime"
     56  mv  "$DIR" "$DIR"_"$oldtime"
     57fi
    3858
    3959mkdir -p $DIR/
    4060rm -f $DIR/backup.log ; touch $DIR/backup.log
    4161
    42 #. /var/etc/restore.cfg   # read config from Addon-Manager, when you wish only saved defined Settings
    4362if [ "$boxtyp" == "dm8000" ]
    4463 then
     
    105124       echo -e "******** sonstige Konfigurationsdateien NICHT gesichert ********\n"
    106125 fi
     126
     127
    107128else  # Boxtyp is not dm8000 (vubox)
    108129 if [ "$settings" = "y" ]
     
    122143 fi
    123144
     145 if [ "$binarys" = "y" ]
     146  then
     147   tar -cvf $DIR/bin.tar /var/bin/* >> $DIR/backup.log
     148   echo -e "******** Binarys gesichert ********\n"
     149  else
     150   echo "******** Binarys NICHT gesichert ********\n"
     151 fi
     152
    124153 if [ "$plugins" = "y" ]
    125154  then
    126155                ipkg list_installed |grep enigma2-plugin > /tmp/ipkg.list
    127156                cut -f 1 -d " " /tmp/ipkg.list > $DIR/ipkg.list
     157
     158    # check ob Referenzliste existiert
     159    if [ ! -e /usr/lib/enigma2/python/Plugins/Extensions/Aafpanel/dirlist ]; then
     160        echo "Aafpanel
     161        BoardViewer
     162        DVDPlayer
     163        GraphMultiEPG
     164        IMDb
     165        MediaCenter
     166        OSDAdjustment
     167        PlugLoad
     168        SimpleBitrate
     169        SocketMMI
     170        SplitScreen
     171        VFD_Brightness
     172        VirtualZap
     173        Volume_adjust
     174        WebInterface" >/usr/lib/enigma2/python/Plugins/Extensions/Aafpanel/dirlist
     175                    #wget -O /usr/lib/enigma2/python/Plugins/Extensions/Aafpanel/dirlist http://kati910.aaf-board.info/dbase/E2/online/dirlist
     176                    #chmod 755 /usr/lib/enigma2/python/Plugins/Extensions/Aafpanel/dirlist
     177    fi
    128178
    129179    # welche Plugins wurden zusaetzlich installiert?
     
    170220    echo -e "******** Sambakonfiguration NICHT gesichert ********\n"
    171221 fi
     222
     223if [ "$addonmanager" = "y" ]
     224        then
     225        tar -cvf $DIR/am.tar /usr/lib/enigma2/python/Plugins/Extensions/AddonManager/* >> $DIR/backup.log
     226                        echo -e "******** AddonManager wurde gesichert ********\n"
     227  else
     228                echo -e "******** AddonManager NICHT vorhanden! ********\n"
     229fi
    172230
    173231 if [ "$sonstige" = "y" ]
     
    186244fi
    187245
     246# for automatic restore after flashing
     247cp /usr/lib/enigma2/python/Plugins/Extensions/AddonManager/restore.sh /var/etc/restore.sh
     248cp /usr/lib/enigma2/python/Plugins/Extensions/AddonManager/restore.cfg /var/etc/restore.cfg
     249
     250# for automatic restore after flashing
     251cp /usr/lib/enigma2/python/Plugins/Extensions/AddonManager/restore.sh $DIR/restore.sh
     252
    188253exit 0
     254
  • ipk/source/system_addonmanager_2_0/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/cp_r.func

    r2941 r3869  
    11#!/bin/sh
    22# ----------------------------------------------------------------------
    3 #   ------    cp_r behebt den Bug von cp -R bei Symlinks --------------
     3#   ------------     Funktionsbibliothek Installer      --------------
     4#   ------------           emu_install.biblo            --------------
     5#   ------------        Version 0.51 20.12.2008         --------------
    46# ----------------------------------------------------------------------
    57
    68cp_r()
    79{
    8 if [ `expr match "$1" './'` -gt 0 ]; then
     10
     11if [ `expr match "$1" './'` -gt 0 ]; then
    912  quelle="`echo $1 | sed s-[.]/-$PWD-`"
    1013  tr="$quelle"
     
    2326  cp -f ${i}.* $ziel$ziel2 2> /dev/null
    2427done
     28
    2529}
    2630
  • ipk/source/system_addonmanager_2_0/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/downloader.py

    r3767 r3869  
    2828from Tools.Directories import fileExists
    2929from Screens.Console import Console
    30 
    3130from os import system, remove, path, walk, makedirs, listdir
    32 
    33 # import py_compile
    34 # py_compile.compile("/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/downloader.py")
    3531
    3632import re
     
    3834import os
    3935import base64
    40 #import commands
    41 #import ServiceReference
    4236from subprocess import Popen,PIPE
    4337import ServiceReference
     
    4741from twisted.internet import reactor, defer
    4842from twisted.python import failure
    49 
    50 #from Plugins.Extensions.AddonManager.UsbOnlineUpdater import UsbOnlineUpdater
    5143
    5244global serverurl
     
    5749global checkok
    5850
    59 
     51# for local compile in the box
     52#
     53# import py_compile
     54# py_compile.compile("/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/downloader.py")
     55
     56version = "2.09"
     57serverurl = ""
     58activenam = ""
     59activesource = ""
     60b_version = 1212
     61readyflag = 0
    6062checkok = True
    6163usblist = ""
     64
     65RestoreYesNo = [('y',_("yes")),('n',_("no"))]
     66RestoreNoYes = [('n',_("no")),('y',_("yes"))]
     67
     68font = "Regular;16"
     69os.system("mkdir -p /tmp/aaf")
     70#os.system("/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/url_check.sh")
     71
     72activesource = "http://kati910.aaf-board.info/dbase"
     73activenam = "Addons-Server"
     74serverurl = activesource + "/E2/"
     75
     76# Boytyp lesen
     77file = open("/proc/stb/info/model", "r")
     78box = file.readline().strip()
     79file.close()
     80
     81# dm8000 is a vu-box
     82#box = "dm8000"
     83if box == "dm8000":
     84  serverurl = activesource + "/vuplus/"
    6285
    6386config.AddonManager = ConfigSubsection()
     
    7295
    7396config.AddonManager2 = ConfigSubsection()
    74 config.AddonManager2.sett_on = ConfigInteger(1, limits=(0, 1))
    75 config.AddonManager2.camconfig_on = ConfigInteger(1, limits=(0, 1))
    76 config.AddonManager2.plug_on = ConfigInteger(1, limits=(0, 1))
    77 config.AddonManager2.network_on = ConfigInteger(1, limits=(0, 1))
    78 config.AddonManager2.samba_on = ConfigInteger(1, limits=(0, 1))
    79 config.AddonManager2.bilder_on = ConfigInteger(0, limits=(0, 1))
    80 config.AddonManager2.sonstige_on = ConfigInteger(1, limits=(0, 1))
    81 
    82 version = "2.07"
    83 serverurl = ""
    84 activenam = ""
    85 activesource = ""
    86 
    87 b_version = 1212
    88 readyflag = 0
    89 
    90 font = "Regular;16"
    91 os.system("mkdir -p /tmp/aaf")
    92 #os.system("/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/url_check.sh")
    93 
    94 activesource = "http://kati910.aaf-board.info/dbase"
    95 activenam = "Addons-Server"
    96 serverurl = activesource + "/E2/"
    97 
    98 # Boytyp lesen
    99 file = open("/proc/stb/info/model", "r")
    100 box = file.readline().strip()
    101 file.close()
    102 
    103 # dm8000 is a vu-box
    104 #box = "dm8000"
    105 if box == "dm8000":
    106   serverurl = activesource + "/vuplus/"
     97config.AddonManager2.sett_on = ConfigSelection(RestoreYesNo)
     98config.AddonManager2.camconfig_on = ConfigSelection(RestoreYesNo)
     99config.AddonManager2.plug_on = ConfigSelection(RestoreYesNo)
     100config.AddonManager2.binarys_on = ConfigSelection(RestoreNoYes)
     101config.AddonManager2.network_on = ConfigSelection(RestoreYesNo)
     102config.AddonManager2.samba_on = ConfigSelection(RestoreYesNo)
     103config.AddonManager2.bilder_on = ConfigSelection(RestoreYesNo)
     104config.AddonManager2.sonstige_on = ConfigSelection(RestoreYesNo)
     105config.AddonManager2.am_on = ConfigSelection(RestoreNoYes)
     106config.AddonManager2.backup_on = ConfigSelection(RestoreYesNo)
     107
     108
     109RESTORE_CONFIG_SKIN = """<screen position="center,center" size="620,360" title="Backup Restore Setup" >
     110  <widget name="config" position="20,2" size="570,253" scrollbarMode="showOnDemand" />
     111        <widget name="label1" position="10,265" size="610,50" font="Regular;18" zPosition="1" backgroundColor="#251e1f20" transparent="1" />
     112        <eLabel backgroundColor="white" position="10,265" size="610,1" zPosition="5"/>
     113        <eLabel backgroundColor="red" position="37,330" size="150,3" zPosition="5"/>
     114        <eLabel backgroundColor="green" position="224,330" size="150,3" zPosition="5"/>
     115        <eLabel backgroundColor="yellow" position="411,330" size="150,3" zPosition="5"/>
     116        <widget name="key_red" position="37,296" zPosition="1" size="150,40" font="Regular;20" halign="center" valign="center" transparent="1" />
     117        <widget name="key_green" position="224,296" zPosition="1" size="150,40" font="Regular;20" halign="center" valign="center" transparent="1" />
     118        <widget name="key_yellow" position="411,296" zPosition="1" size="150,40" font="Regular;20" halign="center" valign="center" transparent="1" />
     119</screen>"""
     120
     121SELECTRESTORE_SKIN = """
     122                <screen position="center,center" size="520,376" title="Auswahlmenue fuer Restore" >
     123                        <ePixmap position="445,0" size="70,53" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/picon_default.png" transparent="1" alphatest="on" />
     124                        <ePixmap position="90,350" size="36,20" pixmap="skin_default/buttons/key_red.png" transparent="1" alphatest="on" />
     125                        <ePixmap position="270,350" size="36,20" pixmap="skin_default/buttons/key_green.png" transparent="1" alphatest="on" />
     126                        <eLabel text="RESTORE - Auswahl" position="70,12" size="480,35" font="Regular;30" foregroundColor="#ffa323" transparent="1" />
     127                        <eLabel text="Delete" position="130,350" size="240,25" font="Regular;20" transparent="1" />
     128                        <eLabel text="Restore" position="310,350" size="240,25" font="Regular;20" transparent="1" />
     129                        <widget name="filelist" position="10,110" size="520,232" scrollbarMode="showOnDemand" />
     130                </screen>"""
    107131
    108132
     
    131155
    132156def restore():
    133   ffile = open("/var/etc/restore.cfg", "w")
    134   if config.AddonManager2.sett_on.value == 1:
    135     ffile.write("settings=y")
    136   else:
    137     ffile.write("settings=n")
    138   ffile.write("\n")
    139   if config.AddonManager2.camconfig_on.value == 1:
    140     ffile.write("camconfig=y")
    141   else:
    142     ffile.write("camconfig=n")
    143   ffile.write("\n")
    144   if config.AddonManager2.plug_on.value == 1:
    145     ffile.write("plugins=y")
    146   else:
    147     ffile.write("plugins=n")
    148   ffile.write("\n")
    149   if config.AddonManager2.network_on.value == 1:
    150     ffile.write("network=y")
    151   else:
    152     ffile.write("network=n")
    153   ffile.write("\n")
    154   if config.AddonManager2.samba_on.value == 1:
    155     ffile.write("samba=y")
    156   else:
    157     ffile.write("samba=n")
    158   ffile.write("\n")
    159   if config.AddonManager2.bilder_on.value == 1:
    160     ffile.write("bilder=y")
    161   else:
    162     ffile.write("bilder=n")
    163   ffile.write("\n")
    164   if config.AddonManager2.sonstige_on.value == 1:
    165     ffile.write("sonstige=y")
    166   else:
    167     ffile.write("sonstige=n")
    168   ffile.write("\n")
    169   ffile.close()
     157                ffile = open("/var/etc/restore.cfg", "w")
     158                ffile.write('settings=' + config.AddonManager2.sett_on.value[0] + '\n' )
     159                ffile.write('binarys=' + config.AddonManager2.camconfig_on.value[0] + '\n')
     160                ffile.write('camconfig=' + config.AddonManager2.plug_on.value[0] + '\n')
     161                ffile.write('plugins=' + config.AddonManager2.network_on.value[0] + '\n')
     162                ffile.write('network=' + config.AddonManager2.samba_on.value[0] + '\n')
     163                ffile.write('samba=' + config.AddonManager2.bilder_on.value[0] + '\n')
     164                ffile.write('sonstige=' + config.AddonManager2.sonstige_on.value[0] + '\n')
     165                ffile.write('addonmanager=' + config.AddonManager2.am_on.value[0] + '\n')
     166                ffile.close()
    170167
    171168restore()
     
    436433                                "1": self.settings_download,
    437434                                "2": self.picons_download,
    438                                 "5": self.settings_backup,
    439                                 "6": self.settings_restore,
     435                                "5": self.BackupRestoreVU,
    440436                                "8": self.beta_download,
    441437                                "9": self.sh_preview,
     
    453449                                "startTeletext": self.switch_ListTyp,
    454450                                "showEventInfo": self.info,
    455                                 "showEpg": self.usb_load,
    456451                                "down": self.down
    457452                        }, -1)
     
    468463                                "2": self.bootbilder_download,
    469464                                "3": self.radiobilder_download,
    470                                 "5": self.settings_backup,
    471                                 "6": self.settings_restore,
     465                                "5": self.BackupRestoreVU,
    472466                                "7": self.skins_download,
    473467                                "8": self.beta_download,
     
    486480                                "startTeletext": self.switch_ListTyp,
    487481                                "showEventInfo": self.info,
    488                                 "showEpg": self.usb_load,
    489482                                "down": self.down
    490483                        }, -1)
    491484
    492 
    493                 self.focus = self.LIST_SOURCE
    494                 self.read_Boxtyp()
    495                 self.feed_download()
    496 
    497         def usb_load(self):
    498                 #self.flash_settings()
    499                 self.session.open(UsbOnlineUpdater)
     485                aafpointer = 0
     486                #/etc/imageinfo AAF Enigma2
     487                fd=open("/etc/imageinfo","r")
     488                for line in fd:
     489                        if line.find("AAF Enigma2") > -1:
     490                                aafpointer = aafpointer +1
     491                fd.close
     492
     493                # /etc/motd wElc0me to AAF
     494                fd=open("/etc/motd","r")
     495                for line in fd:
     496                        if line.find("wElc0me to AAF") > -1:
     497                                aafpointer = aafpointer +1
     498                fd.close
     499
     500                # Url Check
     501                os.system("cat /var/etc/ipkg/official-feed.conf | cut -d '/' -f4 > /tmp/onlineupdate")
     502                fd=open("/tmp/onlineupdate","r")
     503                url=fd.readline().strip()
     504                fd.close()
     505
     506                if url.find("97.74.32.10") > -1:
     507                        aafpointer = aafpointer +1
     508                if url.find("addons.aaf-board.net") > -1:
     509                        aafpointer = aafpointer +1
     510
     511                if str(aafpointer) <= "2":
     512                        print "Permission denied ", str(aafpointer)
     513                        self["statusbar"].text = _("Sorry, Permission denied")
     514                        self.close()
     515                else:
     516                        self.focus = self.LIST_SOURCE
     517                        self.read_Boxtyp()
     518                        self.feed_download()
     519
     520
     521
     522        def BackupRestoreVU(self):
     523                if self.betacode == True:
     524                        self.session.open(RestoreConfigScreenVU)
    500525
    501526#----- Beta Download Procedures -------------------------------------------------------
    502527        def beta_load(self):
    503 
    504528                self.previewtimeout = config.AddonManager.preview_timeout.value
    505529                print "[Addon-Manager] " + str(self.previewtimeout)
     
    533557                        self["key_red"].text = _("Plugin")
    534558                        self["key_green"].text = (_("IPK"))
    535                         #self.box = "dm8000"
     559
    536560                        if box == "dm8000":
    537561                                self["key_yellow"].text = (_("Skins"))
    538562                                self["key_1"].text = _("(1) Settings")
    539563                                self["key_2"].text = (_("(2) Picons"))
    540                                 self["key_3"].text = (_("(5) Backup"))
    541                                 self["key_4"].text = (_("(6) Restore"))
     564                                self["key_3"].text = (_("(5) Back/Rest"))
     565                                self["key_4"].text = (_("        "))
    542566                        else:
    543567                                self["key_yellow"].text = (_("EmuConfig"))
     
    550574                        if os.path.exists("/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/ufs922") is False:
    551575                                if box <> "dm8000":
    552                                                 self["key_4"].text = (_("(5,6) Back/Rest"))
    553 
     576                                        if self.betacode == True:
     577                                                self["key_4"].text = (_("(5) Back/Rest"))
     578                                        else:
     579                                                self["key_4"].text = (_("           "))
    554580                                self.read_Boxtyp()
    555581
     
    737763                print "[Addon-Manager] [feed_finished] " + str(feedhtml)
    738764                self.downloading(False)
    739 
    740                 #self.box = "dm8000"
    741765
    742766                if self.plug == "ipk":
     
    10581082                self.plugin_filter = ""
    10591083                self.feed_download()
    1060 
    1061         def settings_backup(self):
    1062                                 self["statusbar"].text = _("Backup der Einstellungen ist gestartet ....")
    1063                                 self.CpString = "/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/backup.sh"
    1064                                 #self.showlog(self.CpString)
    1065                                 self.session.open(Console, title = _("Backup - Settings"), cmdlist = ["%s" % self.CpString], closeOnSuccess = False)
    1066                                 self["statusbar"].text = _("                                           ")
    1067 
    1068 
    1069         def settings_restore(self):
    1070                                 self["statusbar"].text = _("Restore der Einstellungen laueft ....")
    1071                                 self.CpString = "/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/restore.sh"
    1072                                 #self.showlog(self.CpString)
    1073                                 self.session.open(Console, title = _("Restore - Settings"), cmdlist = ["%s" % self.CpString], closeOnSuccess = False)
    1074 
    10751084
    10761085#----- plugin download ------------------------------------------------------------
     
    12221231                                                return
    12231232
     1233                                        # check if Directory /var/emu is correct linked
     1234                                        if os.path.exists("/var/emu") is False:
     1235                                                os.system("cd /var; ln -s /var/bin emu")
     1236
    12241237                                        # im Flash den emu nach /var/bin installieren
    12251238                                        if os.path.exists("/tmp/aaf/var/emu") is True:
     
    15181531        self.list.append(getConfigListEntry(_("Markierungsfarbe (0=rot, 1=gruen, 2=blau)"), config.AddonManager.mark_color))
    15191532        self.list.append(getConfigListEntry(_("Installierte Plugins feststellen (0=genau, 1=ungenau)"), config.AddonManager.ungenau))
    1520         self.list.append(getConfigListEntry(_("Restore Settings (1=Ein, 0=Aus)"), config.AddonManager2.sett_on))
    1521         self.list.append(getConfigListEntry(_("Restore CamConfig (1=Ein, 0=Aus)"), config.AddonManager2.camconfig_on))
    1522         self.list.append(getConfigListEntry(_("Restore Plugins(1=Ein, 0=Aus)"), config.AddonManager2.plug_on))
    1523         self.list.append(getConfigListEntry(_("Restore Netzwerk (1=Ein, 0=Aus)"), config.AddonManager2.network_on))
    1524         self.list.append(getConfigListEntry(_("Restore Samba (1=Ein, 0=Aus)"), config.AddonManager2.samba_on))
    1525         self.list.append(getConfigListEntry(_("Restore Bootbilder (1=Ein, 0=Aus)"), config.AddonManager2.bilder_on))
    1526         self.list.append(getConfigListEntry(_("Restore sonstiges (1=Ein, 0=Aus)"), config.AddonManager2.sonstige_on))
    15271533
    15281534        ConfigListScreen.__init__(self, self.list)
     
    15651571        self.close(False)
    15661572
     1573
     1574#-----------------------------------------------------------------
     1575class RestoreConfigScreenVU(ConfigListScreen,Screen):
     1576
     1577        def __init__(self, session):
     1578                self.session = session
     1579                Screen.__init__(self, session)
     1580                self.skin = RESTORE_CONFIG_SKIN
     1581                self.onShown.append(self.setWindowTitle)
     1582
     1583                RestoreYesNo = [('y',_("yes")),('n',_("no"))]
     1584                RestoreNoYes = [('n',_("no")),('y',_("yes"))]
     1585
     1586                config.RestoreConfig = ConfigSubsection()
     1587                config.RestoreConfig.settings_on = ConfigSelection(RestoreYesNo)
     1588                config.RestoreConfig.binarys_on = ConfigSelection(RestoreYesNo)
     1589                config.RestoreConfig.camconfig_on = ConfigSelection(RestoreYesNo)
     1590                config.RestoreConfig.plugins_on = ConfigSelection(RestoreNoYes)
     1591                config.RestoreConfig.network_on = ConfigSelection(RestoreYesNo)
     1592                config.RestoreConfig.samba_on = ConfigSelection(RestoreYesNo)
     1593                config.RestoreConfig.bilder_on = ConfigSelection(RestoreYesNo)
     1594                config.RestoreConfig.sonstige_on = ConfigSelection(RestoreYesNo)
     1595                config.RestoreConfig.am_on = ConfigSelection(RestoreNoYes)
     1596                config.RestoreConfig.backup_on = ConfigSelection(RestoreYesNo)
     1597
     1598                self.Clist = []
     1599                self.Clist.append(getConfigListEntry(_("Restore Settings"), config.AddonManager2.sett_on))
     1600                self.Clist.append(getConfigListEntry(_("Restore CamConfig"), config.AddonManager2.camconfig_on))
     1601                self.Clist.append(getConfigListEntry(_("Restore Plugins"), config.AddonManager2.plug_on))
     1602                self.Clist.append(getConfigListEntry(_("Restore Binarys"), config.AddonManager2.binarys_on))
     1603                self.Clist.append(getConfigListEntry(_("Restore Netzwerk"), config.AddonManager2.network_on))
     1604                self.Clist.append(getConfigListEntry(_("Restore Samba"), config.AddonManager2.samba_on))
     1605                self.Clist.append(getConfigListEntry(_("Restore Bootbilder"), config.AddonManager2.bilder_on))
     1606                self.Clist.append(getConfigListEntry(_("Restore sonstiges"), config.AddonManager2.sonstige_on))
     1607                self.Clist.append(getConfigListEntry(_("Restore AddonManager"), config.AddonManager2.am_on))
     1608                self.Clist.append(getConfigListEntry(_("mehrere Backup mit Datum zulassen"), config.AddonManager2.backup_on))
     1609
     1610                ConfigListScreen.__init__(self, self.Clist)
     1611
     1612                self["key_green"] = Label(_("save Settings"))
     1613                self["key_yellow"] = Label(_("Backup"))
     1614                self["key_red"] = Label(_("Restore"))
     1615                infotext = _('this Settings are allways copied in the Flash/USB installation!')
     1616                self["label1"] =  ScrollLabel()
     1617                self["label1"].setText(infotext)
     1618
     1619                self["setupActions"] = ActionMap(["OkCancelActions", "DirectionActions", "ColorActions"],
     1620                {
     1621                        "green": self.save,
     1622                        "save": self.save,
     1623                        "red": self.restore,
     1624                        "yellow": self.backup,
     1625                        "cancel": self.cancel,
     1626                        "ok": self.save,
     1627                        "left": self.left,
     1628                        "right": self.right,
     1629                }, -2)
     1630
     1631        def setWindowTitle(self):
     1632                self.setTitle(_("Backup / Restore Config"))
     1633
     1634        def left(self):
     1635                ConfigListScreen.keyLeft(self)
     1636
     1637        def right(self):
     1638                ConfigListScreen.keyRight(self)
     1639
     1640        def save(self):
     1641                config.RestoreConfig.save()
     1642                self.save_settings()
     1643                print "[AddonManager] RestoreConfig save"
     1644
     1645        def cancel(self):
     1646                print "[AddonManager] RestoreConfig cancel"
     1647                self.close()
     1648
     1649        def backup(self):
     1650                self.CpString = "/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/backup.sh"
     1651                self.session.open(Console, title = _("Backup - Settings"), cmdlist = ["%s" % self.CpString], closeOnSuccess = False)
     1652
     1653        def restore(self):
     1654                self.session.open(SelectRestore)
     1655
     1656        def save_settings(self):
     1657                ffile = open("/var/etc/restore.cfg", "w")
     1658                ffile.write('settings=' + config.AddonManager2.sett_on.value[0] + '\n' )
     1659                ffile.write('binarys=' + config.AddonManager2.binarys_on.value[0] + '\n')
     1660                ffile.write('camconfig=' + config.AddonManager2.camconfig_on.value[0] + '\n')
     1661                ffile.write('plugins=' + config.AddonManager2.plug_on.value[0] + '\n')
     1662                ffile.write('network=' + config.AddonManager2.network_on.value[0] + '\n')
     1663                ffile.write('samba=' + config.AddonManager2.samba_on.value[0] + '\n')
     1664                ffile.write('bilder=' + config.AddonManager2.bilder_on.value[0] + '\n')
     1665                ffile.write('sonstige=' + config.AddonManager2.sonstige_on.value[0] + '\n')
     1666                ffile.write('addonmanager=' + config.AddonManager2.am_on.value[0] + '\n')
     1667                ffile.write('backup=' + config.AddonManager2.backup_on.value[0] + '\n')
     1668                ffile.close()
     1669
     1670#-----------------------------------------------------------------
     1671
     1672class SelectRestore(ConfigListScreen,Screen):
     1673        def __init__(self, session):
     1674                font = "Regular;18"
     1675                self.skin = SELECTRESTORE_SKIN
     1676                Screen.__init__(self, session)
     1677
     1678                #self.focus = None
     1679                self["actions"] = ActionMap(["OkCancelActions", "DirectionActions", "ColorActions", "MovieSelectionActions"],
     1680                {
     1681                        "ok": self.KeyOk,
     1682                        "cancel": self.Exit,
     1683                        "right": self.rightDown,
     1684                        "left": self.leftUp,
     1685                        "up": self.up,
     1686                        "down": self.down,
     1687                        "red": self.delete,
     1688                        "green": self.KeyOk
     1689                }, -1)
     1690                self.search()
     1691
     1692                if not pathExists(self.currDir):
     1693                        self.currDir = "/"
     1694
     1695                self.filelist = FileList(self.currTmp, showDirectories = True, isTop = True , useServiceRef = False)
     1696                self["filelist"] = self.filelist
     1697
     1698                self["aktion"] = StaticText()
     1699                self["filelist"].show()
     1700
     1701        def up(self):
     1702                self["filelist"].up()
     1703
     1704        def down(self):
     1705                self["filelist"].down()
     1706
     1707        def leftUp(self):
     1708                self["filelist"].pageUp()
     1709
     1710        def rightDown(self):
     1711                self["filelist"].pageDown()
     1712
     1713        def search(self):
     1714                os.system("rm -r /tmp/back")
     1715                os.system("mkdir -p /tmp/back")
     1716                self.currTmp = "/tmp/back"
     1717
     1718                if pathExists("/var/swap"):
     1719                        self.currDir = "/var/swap"
     1720
     1721                if pathExists("/media/hdd"):
     1722                        self.currDir = "/media/hdd"
     1723
     1724                if box == "dm8000":
     1725                        CpString = "cd " + self.currDir + "; ls -A1d backup_vu* >/tmp/back/test"
     1726                        os.system(CpString)
     1727                        self.currBox = "backup_vu"
     1728                else:
     1729                        CpString = "cd " + self.currDir + "; ls -A1d backup_fortis* >/tmp/back/test"
     1730                        os.system(CpString)
     1731                        self.currBox = "backup_fortis"
     1732
     1733                text = ""
     1734                file = open("/tmp/back/test", "r")
     1735                for line in file:
     1736                        text = line.strip()
     1737                        CpString = "touch /tmp/back/" + text
     1738                        os.system(CpString)
     1739                file.close
     1740                os.system("rm /tmp/back/test")
     1741
     1742        def delete(self):
     1743                self.filename = None
     1744                self.filename = self.filelist.getFilename()
     1745                self.filename = self.currDir + "/" + self.filename
     1746                print "[AddonManager] Filename=", self.filename
     1747                message = "%s %s" % (_("\nDieses Backup loeschen?\n"), self.filename)
     1748                if box <> "dm8000":
     1749                        evfd.getInstance().vfd_write_string("Delete Backup")
     1750                self.session.openWithCallback(self.delete_now, MessageBox, message, MessageBox.TYPE_YESNO)
     1751
     1752        def delete_now(self, answer):
     1753                if answer == True:
     1754                        CpString = "rm -r " + self.filename
     1755                        os.system(CpString)
     1756                        self.search()
     1757                        self["filelist"].refresh()
     1758
     1759        def KeyOk(self):
     1760                self.filename = None
     1761                self.filename = self.filelist.getFilename()
     1762                #self.filename = self.currDir + "/" + self.currBox + "/" + self.filename
     1763                self.fullname = self.currDir + "/" + self.filename
     1764                print "[AddonManager] Select-Filename=", self.filename
     1765                self["filelist"].refresh()
     1766
     1767                self.CpString = "/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/restore.sh " + self.filename + " boot"
     1768                self.session.open(Console, title = _("Restore - Settings"), cmdlist = ["%s" % self.CpString], closeOnSuccess = False)
     1769
     1770
     1771        def Exit(self):
     1772                self.close()
     1773#-----------------------------------------------------------------
     1774
     1775
    15671776#-----------------------------------------------------------------
    15681777
     
    15771786def main(session, **kwargs):
    15781787   session.open(PLUGINDownload,"/tmp/usb")
    1579 
    1580 
    1581 
  • ipk/source/system_addonmanager_2_0/usr/lib/enigma2/python/Plugins/Extensions/AddonManager/restore.sh

    • Property svn:executable set to *
    r3767 r3869  
    99# ***********************************************************
    1010
     11filename=$1
     12rebootnow=$2
    1113
     14# check for saved settings
     15if [ ! -e /var/etc/restore.cfg ]; then
     16  # make a default and say all yes
     17  settings=y
     18  binarys=y
     19  camconfig=y
     20  plugins=y
     21  network=y
     22  samba=y
     23  bilder=y
     24  sonstige=y
     25  addonmanager=y
     26  backup=y
     27else
    1228. /var/etc/restore.cfg   # read config from Addon-Manager
    1329
     
    1733
    1834boxtyp="`cat /proc/stb/info/model`"
    19 if [ "$boxtyp" == "dm8000" ]
    20   then
    21     DIR="/media/hdd/backup_vu"
    22   else
    23     DIR="/media/hdd/backup_fortis"
     35
     36if [ "$filename" ]; then
     37  BOXDIR="$filename"
     38else
     39  if [ "$boxtyp" == "dm8000" ]
     40    then
     41      BOXDIR="backup_vu"
     42    else
     43      BOXDIR="backup_fortis"
     44  fi
    2445fi
     46
     47if [ `mount | grep "on /var/swap" | wc -l` -ge 1 ]; then DIR="/var/swap/$BOXDIR"; fi
     48if [ `mount | grep "on /media/hdd" | wc -l` -eq 1 ]; then DIR="/media/hdd/$BOXDIR"; fi
     49
    2550rm -f $DIR/restore.log ; touch $DIR/restore.log
     51
     52# Neustart nach Flashinstallation, restore AM
     53if [ -e /var/swap/backup/.firstrun ] || [ -e /media/hdd/backup/.firstrun ] ; then
     54  settings=n
     55  binarys=y
     56  camconfig=n
     57  plugins=y
     58  network=n
     59  samba=n
     60  bilder=n
     61  sonstige=n
     62  addonmanager=y
     63  backup=n
     64fi
     65
    2666
    2767if [ "$plugins" = "y" ]
     
    106146fi
    107147
     148if [ "$binarys" = "y" ]
     149 then
     150 if [ -e $DIR/bin.tar ]
     151        then
     152        tar -xvf $DIR/bin.tar -C / >> $DIR/restore.log
     153                        echo -e "******** Binarys wurde wiederhergestellt ********\n"
     154  else
     155                echo -e "******** Kein Backup der Binarys vorhanden! ********\n"
     156 fi
     157fi
     158
     159if [ "$addonmanager" = "y" ]; then
     160 if [ -e $DIR/am.tar ]
     161        then
     162        tar -xvf $DIR/am.tar -C / >> $DIR/restore.log
     163                        echo -e "******** AddonManager wurde wiederhergestellt ********\n"
     164  else
     165                echo -e "******** Kein Backup vom AddonManager vorhanden! ********\n"
     166 fi
     167fi
     168
    108169if [ "$settings" = "y" ]
    109170 then
    110171 if [ -e $DIR/settings.tar ]
    111172  then
    112 
    113       echo -e "******** Settings und Automounts wiederhergestellt ********\n"
    114       echo -e "********************************************"
    115       echo -e "******** Box wird nun neu gestartet ********\n"
    116       echo -e "********************************************"
    117       sleep 3
    118       init 4 # kill enigma
    119       tar -xvf $DIR/settings.tar -C / >> $DIR/restore.log
    120       reboot -f  # reboot, make the settings resistant
     173      if [ $rebootnow ]; then
     174        echo -e "******** Settings und Automounts wiederhergestellt ********\n"
     175        echo -e "********************************************"
     176        echo -e "******** Box wird nun neu gestartet ********\n"
     177        echo -e "********************************************"
     178        sleep 3
     179        init 4 # kill enigma
     180        tar -xvf $DIR/settings.tar -C / >> $DIR/restore.log
     181        reboot -f  # reboot, make the settings resistant
     182      else
     183        tar -xvf $DIR/settings.tar -C / >> $DIR/restore.log
     184      fi
    121185  else
    122186      echo -e "******** Kein Backup der Settings vorhanden! ********\n"
Note: See TracChangeset for help on using the changeset viewer.