rabin 7 سال پیش
والد
کامیت
dced5a25c2
3فایلهای تغییر یافته به همراه78 افزوده شده و 15 حذف شده
  1. 14 1
      README.md
  2. 25 14
      src/dever.py
  3. 39 0
      src/git.py

+ 14 - 1
README.md

@@ -78,4 +78,17 @@ docker方法列表:
 4、web-php stop:停止该容器
 5、web-php rm:停止并删除该容器,等同于dever rm web php
 6、web-php show:显示该容器的状态
-</pre>
+
+</pre>
+<pre>
+2017-11-14更新:
+当前工具包:docker、dever、php、git
+1、使用dever来安装plant:
+dm use dever
+dm init
+dm product plant
+
+2、使用git:
+dm use git
+git pull /data/
+</pre>

+ 25 - 14
src/dever.py

@@ -2,7 +2,7 @@
 # -*- coding: utf-8 -*-
 """
     dever-manage tools
-    name:php.py
+    name:dever.py
     author:rabin
 """
 from core import *
@@ -13,26 +13,16 @@ class Dever(object):
 	lib = Core.path + 'container/share/lib/php/'
 	dev = Core.path + 'container/web/'
 	framework = 'dever/framework.git'
+	demo = 'dever/demo.git'
 	package = 'dever-package/'
+	product = 'dever-product/'
 	@classmethod
 	def init(self):
 		method = Core.getMethod(Dever_Action, Args.action)
 		method()
 
-class Dever_Action(object):
 	@staticmethod
-	def init():
-		Git.update(Dever.git + Dever.framework, Dever.lib + 'dever')
-
-	@classmethod
-	def install(self):
-		self.update()
-
-	@classmethod
-	def update(self):
-		lib = Dever.lib + 'dever_package/'
-		path = lib + Args.name
-		Git.update(Dever.git + Dever.package + Args.name, path)
+	def rely(self, path):
 		package = path + '/package.json'
 		if File.exists(package):
 			data = File.read(package, '')
@@ -42,10 +32,31 @@ class Dever_Action(object):
 				for v in rely:
 					Args.name = v
 					self.update()
+
+class Dever_Action(object):
+	@staticmethod
+	def init():
+		Git.update(Dever.git + Dever.framework, Dever.lib + 'dever')
+
+	@classmethod
+	def package(self):
+		lib = Dever.lib + Dever.package
+		path = lib + Args.name
+		Git.update(Dever.git + Dever.package + Args.name, path)
+		Dever.rely(self, path)
 		boot = lib + 'boot.php'
 		if not File.exists(boot):
 			File.write(boot, "<?php \r\n if (!defined('DEVER_PROJECT')) {\r\ndefine('DEVER_PROJECT', 'default');\r\ndefine('DEVER_PROJECT_PATH', dirname(__FILE__) . DIRECTORY_SEPARATOR);\r\n}\r\ninclude(dirname(__FILE__) . DIRECTORY_SEPARATOR . '../dever/boot.php');")
 
+	@classmethod
+	def product(self):
+		path = Dever.dev + Args.name
+		Git.update(Dever.git + Dever.product + Args.name, path)
+		Dever.package(self, path)
+
+	@staticmethod
+	def demo():
+		Git.update(Dever.git + Dever.demo, Dever.dev + 'demo')
 
 	@staticmethod
 	def create():

+ 39 - 0
src/git.py

@@ -0,0 +1,39 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+"""
+    dever-manage tools
+    name:git.py
+    author:rabin
+"""
+from core import *
+import json
+
+class Git(object):
+	@classmethod
+	def init(self):
+		method = Core.getMethod(Git_Action, Args.action)
+		method()
+
+class Git_Action(object):
+	@staticmethod
+	def path():
+		return Args.name
+
+	@classmethod
+	def pull(self):
+		path = self.path()
+		Core.popen('cd ' + path + ' && git pull', True)
+
+	@classmethod
+	def push(self):
+		path = self.path()
+		if Args.param:
+			file = Args.param
+		else:
+			file = '*'
+		Core.popen('cd ' + path + ' && git commit -m "edit" '+file+' && git push -u origin master', True)
+
+	@classmethod
+	def clone(self):
+		path = self.path()
+		Core.popen('cd ' + path + ' && git clone ' + Args.param, True)