OSDN Git Service

steam追加
authorNakajima <fl.kouhei@gmail.com>
Thu, 11 Apr 2019 14:40:31 +0000 (23:40 +0900)
committerNakajima <fl.kouhei@gmail.com>
Thu, 11 Apr 2019 14:40:31 +0000 (23:40 +0900)
src/Items.py

index 2fcde71..0428cb8 100644 (file)
@@ -51,6 +51,7 @@ def getItems_first_time(_interface) :
     items.append(Chrome(_interface))
     items.append(Kdeconnect(_interface))
     items.append(Wine(_interface))
+    items.append(Steam(_interface))
 
     return items
 
@@ -64,6 +65,7 @@ def getItems(_interface) :
     items.append(Wine(_interface))
     items.append(Playonlinux(_interface))
     items.append(Winetricks(_interface))
+    items.append(Steam(_interface))
 
     return items
 
@@ -507,4 +509,67 @@ class Winetricks(Item) :
             else :
                 return
 
+class Steam(Item) :
+    
+    def __init__(self, _interface) :
+        
+        super().__init__(_interface)
+        self.name = "Steam"
+        self.execute_src = self.PATH + "/../scripts/steaminstall.sh"
+        self.restore_src = self.PATH + "/../scripts/steamuninstall.sh"
+
+
+    def first_time(self) : 
+
+        result =  self.interface.yesnoback("Do you want to install {}?(y/n) > ".format(self.name)) 
+        if result is None :
+            return None
+        elif result :
+            return ("Installing " + self.name, self.execute)
+        else :
+            return False
+
+    def isdefault(self) :
+        
+        subprocess.call([self.PATH + "/../scripts/isinstalled.sh", "steam"])
+        return super().isdefault("steam")
+
+    def show(self) :
+       
+        if self.isdefault() :
+            self.interface.show("Steam                   : not installed") 
+        else :
+            self.interface.show("Steam                   : installed")
+
+    
+    def change(self) :
+
+        if self.isdefault() :
+            
+            str = ("{} is not installed.\n".format(self.name),
+                   "Do you want to install {}?(y/n) > ".format(self.name))
+            
+            result = self.interface.yesnoback(str) 
+
+            if result is None :
+                return
+            elif result :
+                self.execute()
+            else :
+                return
+
+        else :
+            
+            str = ("{} is installed.\n".format(self.name),
+                   "Do you want to uninstall {}?(y/n) > ".format(self.name))
+            
+            result = self.interface.yesnoback(str)
+
+            if result is None :
+                return
+            elif result :
+                self.restore()
+            else :
+                return
+