Page 1 of 3 123 LastLast
Results 1 to 10 of 24

Thread: SDG Backup Drembox Enigma2

  1. #1

    devilcosta's Avatar
    Join Date
    Dec 2010
    Location
    Εδώ
    Posts
    9,710
    Rep Power
    2556267

    SDG Backup Drembox Enigma2

    Ένα πρόσθετο ακόμα από την ομάδα μας.

    Το SDGBackup δημιουργήθηκε αποκλειστικά από την ομάδα μας για τους dreambox enigma2, η δημιουργία ενός τέτοιου προσθετου χρειάζεται ειδικές γνώσεις και ο (athoik) έχει αρκετές από αυτές.

    Η χρησιμότητα του προσθετου είναι να αποθηκεύεται το image σας με όλες τις ρυθμίσεις που θέλετε και να το επαναφέρεται όταν εσείς θέλετε,όπως επαναφέρουμε ένα κανονικό image

    Για την λειτουργία του προσθετου χρειάζεται να έχουμε στον δεκτη σκληρό δίσκο η stick usb (η και τα δυο), η προσάρτηση τους πρέπει να είναι (/media/usb) (/media/hdd)

    Το πρόσθετο διατίθεται στα image μας με αναβάθμιση του image και θα το βρείτε στο Panel+
    Member SatDreamGr Projects.
    ....................................
    Orbital Position = 5W - 3E - 9E - 13E - 19E.
    ....................................
    Satellite Receivers = Edision OS Mio 4K -- Edision OS Nino+ -- Edision OS Mini -- Edision OS Mega -- Medi@link IXUSS ZERO -- Dm 7020HD -- Vu+ Solo 2 -- Octagon SF4008 Triple 4K.
    ....................................
    Module = CI+ Fransat.
    ....................................
    Tuner Card = TBS5925.
    ....................................
    Images = SatDreamGr.

  2. #2

    Απ: SDG Backup Drembox Enigma2

    Καλησπέρα, θέλω να κάνω κάποιες αλλαγές στο plugin, όπως να προσθέσω ελληνική μετάφραση, να βάλω τον τίτλο να εμφανίζεται αυτόματα στην οθόνη του, κτλ.


    Η ερώτησή μου είναι γενική για την python και τα plugins, και όχι συγκεκριμένα για αυτό το plugin. Η προσθήκη του τίτλου στην οθόνη (screen στο skin) απ' ότι έχω δει σε άλλα plugins, μπορεί να γίνει με πολλούς διαφορετικούς τρόπους:

    1.
    Code:
    def __init__(self, session):
    
        ...
    
        self.title = _("SDGBackup Dreambox Enigma2")
    
        ...

    2.
    Code:
    def __init__(self, session):
    
        ...
    
        self.setup_title = = _("SDGBackup Dreambox Enigma2")
    
        ...

    3.
    Code:
    def __init__(self, session):
    
        ...
    
        self.setup_title = = _("SDGBackup Dreambox Enigma2")
        Screen.setTitle(self, _(self.setup_title))
        ...

    4.
    Code:
    def __init__(self, session):
    
        ...
    
        self.setup_title = = _("SDGBackup Dreambox Enigma2")
        self.onLayoutFinish.append(self.layoutFinished)
    
        ...
    
    ####################
    
    def layoutFinished(self):
        self.setTitle(self.setup_title)

    Ποια ή διαφορά μεταξύ τους και ποιος είναι ο ενδεδειγμένος, αν υπάρχει; Απ' ό,τι φαίνεται ο τίλος εμφανίζεται στην οθόνη με όλους τους παραπάνω τρόπους.

    Έχει διαφορά αν η οθόνη που θέλω να βάλω τον τίτλο είναι ενσωματωμένη στο enigma2 ή προέρχεται από plugin; Π.χ μήπως ο τρόπος 1 είναι μόνο ενσωματωμένες οθόνες, ενώ για plugins χρησιμοποιούνται όλοι;

  3. #3

    devilcosta's Avatar
    Join Date
    Dec 2010
    Location
    Εδώ
    Posts
    9,710
    Rep Power
    2556267

    Re: SDG Backup Drembox Enigma2

    Δεν νομίζω να υπάρχει κάποια διαφορα την στιγμή που μεταφράζεται _(

    Αν το πρόσθετο δεν έχει μετάφραση, και στο enigma επίσης για αυτό, απλά δεν θα μεταφράζεται
    Member SatDreamGr Projects.
    ....................................
    Orbital Position = 5W - 3E - 9E - 13E - 19E.
    ....................................
    Satellite Receivers = Edision OS Mio 4K -- Edision OS Nino+ -- Edision OS Mini -- Edision OS Mega -- Medi@link IXUSS ZERO -- Dm 7020HD -- Vu+ Solo 2 -- Octagon SF4008 Triple 4K.
    ....................................
    Module = CI+ Fransat.
    ....................................
    Tuner Card = TBS5925.
    ....................................
    Images = SatDreamGr.

  4. #4

    Απ: SDG Backup Drembox Enigma2

    Εγώ ρωτάω από προγραμματιστική μεριά (σαν κώδικας python). Τι κάνουν όλοι αυτοί οι διαφορετικοί τρόποι; Για να μαθαίνουμε κιόλας...


    Υ.Γ. Στους κώδικες πιο πάνω μου έχει φύγει σε κάποια σημεία και έχω γράψει δύο ίσον (= =), αντί για ένα.

  5. #5

    athoik's Avatar
    Join Date
    Sep 2012
    Location
    Earth
    Posts
    10,758
    Rep Power
    5927763

    Απ: SDG Backup Drembox Enigma2

    Θα βοηθούσε στα παραπάνω να βάλεις και τις κλάσεις που κληρονομεί το κάθε παράδειγμα!

    class A(Screen)

    Πχ το παραπάνω, είναι κλάση που κληρονόμησε όλες τις ιδιότητες της κλάσης Screen.

    Η setTitle πχ από πού την κληρονομούμε;
    Η setTitle με την σειρά της, μπορεί να κάνει self.title = "xxxx" όπου το πεδίο title το κληρονομήσαμε.

    Private μεταβλητές στην python αρχίζουν με _ (ψεύτικο private) και η title δεν είναι (ψευδο)private.

    Το setup title μήπως είναι alias για το title, για backwards compatibility;
    Member SatDreamGr Projects

    Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
    Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

  6. #6

    Απ: SDG Backup Drembox Enigma2

    Στα παραδείγματα που αναφέρω πιο πάνω οι εν λόγω κλάσεις κληρονομούν την "Screen", είτε την "Screen" και "ConfigListScreen".

    Το "setTitle(...)" προέρχεται από την κλάση "Screen", που είναι παιδί της κλάσης "GUISkin". Παραθέτω από το "GUISkin.py":

    Code:
    	def setTitle(self, title):
    		path_text = ""
    		self.skin_title = title
    		if self.screenPathMode is not None and title and config.usage.menu_path.value != "off":
    			if self.screenPathMode and not screen.path or screen.path and screen.path[-1] != title:
    				self.onClose.append(self.removeScreenPath)
    				if screen.lastself != self:
    					screen.path.append(title)
    					screen.lastself = self
    				elif screen.path:
    					screen.path[-1] = title
    			if config.usage.menu_path.value == "small":
    				path_text = len(screen.path) > 1 and " > ".join(screen.path[:-1]) + " >" or ""
    			else:
    				title = screen.path and " > ".join(screen.path) or title
    		if self.instance:
    			self.instance.setTitle(title)
    		self["Title"].text = title
    		self["screen_path"].text = path_text
    		self.summaries.setTitle(title)

    H "setTtile()" ορίζει το "skin_title" και το "title", όπως φαίνεται.




    Ερώτηση: Όταν λέμε

    Code:
    class MyClassA(Screen):
    
    	def __init__(self, session):
    		Screen.__init__(self, session)
    		self.title = "blahblah"
    		Screen.title = "blahblah"
    Οι δύο κόκκινες γραμμές είναι το ίδιο; Πρόκειται για το ίδιο property; Θυμίζω ότι η Screen περιέχει ήδη το property "title".

  7. #7

    devilcosta's Avatar
    Join Date
    Dec 2010
    Location
    Εδώ
    Posts
    9,710
    Rep Power
    2556267

    Re: SDG Backup Drembox Enigma2

    Εδώ το εμφανίζεις σε όλες τις περιπτώσεις

    Code:
        self.setup_title = = _("SDGBackup Dreambox Enigma2")
        self.onLayoutFinish.append(self.layoutFinished)
    
    
    def layoutFinished(self):
        self.setTitle(self.setup_title)
    ..................................................
    Αυτό έτσι δουλεύει

    Code:
    class MyClassA(Screen):
    
    	Screen.setTitle(self, _("blablaaaa"))
    Αν δεν έχει screen μάλλον δεν θα δουλέψει

    Code:
    class MyClassA(blabla):
    Member SatDreamGr Projects.
    ....................................
    Orbital Position = 5W - 3E - 9E - 13E - 19E.
    ....................................
    Satellite Receivers = Edision OS Mio 4K -- Edision OS Nino+ -- Edision OS Mini -- Edision OS Mega -- Medi@link IXUSS ZERO -- Dm 7020HD -- Vu+ Solo 2 -- Octagon SF4008 Triple 4K.
    ....................................
    Module = CI+ Fransat.
    ....................................
    Tuner Card = TBS5925.
    ....................................
    Images = SatDreamGr.

  8. #8

    athoik's Avatar
    Join Date
    Sep 2012
    Location
    Earth
    Posts
    10,758
    Rep Power
    5927763

    Απ: SDG Backup Drembox Enigma2

    Code:
    # cat t.py
    class Screen:
            def __init__(self, session):
                    self.title = "__init__ %s" % self.__class__
    
            def setTitle(self, title):
                    self.title = "setTitle %s" % title
    
    class MyScreen(Screen):
            def __init__(self, session):
                    self.title = self.__class__
    
    class MyScreen2(Screen):
            def __init__(self, session):
                    Screen.__init__(self, session)
    
    class MyScreen3(Screen):
            def __init__(self, session):
                    Screen.__init__(self, session)
                    Screen.setTitle(self, self.__class__)
    
    class MyScreen4(Screen):
            def __init__(self, session):
                    self.setTitle(self.__class__)
    
    class MyScreen5(Screen):
            pass
    
    sess = None
    
    x = MyScreen(session = sess)
    print x.__class__, "having title:", x.title
    
    x = MyScreen2(session = sess)
    print x.__class__, "having title:", x.title
    
    x = MyScreen3(session = sess)
    print x.__class__, "having title:", x.title
    
    x = MyScreen4(session = sess)
    print x.__class__, "having title:", x.title
    
    x = MyScreen5(session = sess)
    print x.__class__, "having title:", x.title
    Member SatDreamGr Projects

    Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
    Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

  9. #9

    athoik's Avatar
    Join Date
    Sep 2012
    Location
    Earth
    Posts
    10,758
    Rep Power
    5927763

    Απ: Re: SDG Backup Drembox Enigma2

    Code:
    # python t.py
    __main__.MyScreen having title: __main__.MyScreen
    __main__.MyScreen2 having title: __init__ __main__.MyScreen2
    __main__.MyScreen3 having title: setTitle __main__.MyScreen3
    __main__.MyScreen4 having title: setTitle __main__.MyScreen4
    __main__.MyScreen5 having title: __init__ __main__.MyScreen5
    Member SatDreamGr Projects

    Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
    Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

  10. #10

    athoik's Avatar
    Join Date
    Sep 2012
    Location
    Earth
    Posts
    10,758
    Rep Power
    5927763

    Απ: SDG Backup Drembox Enigma2

    Απο τα παραπάνω λοιπόν μπορούμε να δούμε τους διαφορετικούς τρόπους για να αρχικοποιήσουμε την μεταβλητή title.

    Υπάρχουν και άλλοι ... αλλά θα χαθούμε στα σκοτεινά μονοπάτια της python

    Λογικά ο λόγος που κάποια plugin κάνουν update απευθείας την μεταβλητή title και δεν κάνουν χρήση της setTitle είναι για να αποφύγουν να γράψουν κάτι στο "history" (Σε κάποιο PLi skin, νομίζω ότι κρατάει κάτι σαν ιστορικό τα screen names (κάτι που δείχνει να το κάνει η setTitle).

    Στο onLayoutFinish να γράφεις τον τίτλο, δεν ξέρω αν αξίζει, δηλαδή να κάνεις χρήση ενός event για να γράψεις τον τίτλο, μια χαρά πρέπει να γίνεται και στην __init__.

    Οπότε, μάλλον αν τώρα θα έπρεπε να διαλέξω έναν τρόπο, θα έλεγα self.setTitle("xxx") στο __init__.
    Member SatDreamGr Projects

    Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
    Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Page 1 of 3 123 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Replies: 4
    Last Post: 21-05-21, 18:40
  2. backup ολοκληρου του image / διαφορα με backup settings
    By deepbluesky in forum Περί SatDreamGr Images
    Replies: 3
    Last Post: 23-11-16, 23:56
  3. Replies: 0
    Last Post: 31-10-14, 21:10
  4. backup Golden Media 990 CR HD PVR spa pli enigma2 OpenSpa
    By ilias in forum Λοιποί δέκτες HD
    Replies: 0
    Last Post: 11-03-14, 14:33
  5. enigma2-plugin-extensions-sim-backup v1.3
    By korn in forum Enigma2 Plugins ΟΕ 2.0
    Replies: 2
    Last Post: 23-11-13, 22:08

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •