diff --git a/giturlparse/platforms/__init__.py b/giturlparse/platforms/__init__.py index bb51ac5..99f6da0 100644 --- a/giturlparse/platforms/__init__.py +++ b/giturlparse/platforms/__init__.py @@ -4,6 +4,7 @@ from .bitbucket import BitbucketPlatform from .friendcode import FriendCodePlatform from .assembla import AssemblaPlatform +from .gogs import GogsPlatform from .gitlab import GitLabPlatform @@ -14,6 +15,7 @@ ('bitbucket', BitbucketPlatform()), ('friendcode', FriendCodePlatform()), ('assembla', AssemblaPlatform()), + ('gogs', GogsPlatform()), ('gitlab', GitLabPlatform()), # Match url diff --git a/giturlparse/platforms/gogs.py b/giturlparse/platforms/gogs.py new file mode 100644 index 0000000..790f05c --- /dev/null +++ b/giturlparse/platforms/gogs.py @@ -0,0 +1,11 @@ +# Imports +from .base import BasePlatform + + +class GogsPlatform(BasePlatform): + PATTERNS = { + 'https': r'https://(?P.+)/(?P.+)/(?P.+).git', + } + FORMATS = { + 'https': r'https://%(domain)s/%(owner)s/%(repo)s.git', + } diff --git a/giturlparse/result.py b/giturlparse/result.py index 4ecb243..d5d6090 100644 --- a/giturlparse/result.py +++ b/giturlparse/result.py @@ -110,6 +110,10 @@ def assembla(self): def gitlab(self): return self.platform == 'gitlab' + @property + def gogs(self): + return self.platform == 'gogs' + ## # Get data as dict ##