Skip to content

Commit eeb0d05

Browse files
committed
Complete refactoring of Confluence Cloud module with V2 API support
1 parent bf54d8c commit eeb0d05

File tree

5 files changed

+99
-2679
lines changed

5 files changed

+99
-2679
lines changed

atlassian/confluence/__init__.py

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,25 @@
11
"""
22
Confluence module for both Cloud and Server implementations
33
"""
4-
from atlassian.confluence.base import ConfluenceBase
5-
from atlassian.confluence.cloud import ConfluenceCloud
6-
from atlassian.confluence.server import ConfluenceServer
4+
from .base import ConfluenceBase
5+
from .cloud import ConfluenceCloud
6+
from .server import ConfluenceServer
7+
from typing import Union
78

8-
__all__ = ['ConfluenceBase', 'ConfluenceCloud', 'ConfluenceServer']
9+
def Confluence(url: str, *args, **kwargs) -> Union[ConfluenceCloud, ConfluenceServer]:
10+
"""
11+
Factory function to create appropriate Confluence instance based on URL
12+
13+
Args:
14+
url: The Confluence instance URL
15+
*args: Arguments to pass to the implementation
16+
**kwargs: Keyword arguments to pass to the implementation
17+
18+
Returns:
19+
Either ConfluenceCloud or ConfluenceServer instance
20+
"""
21+
if ConfluenceBase._is_cloud_url(url):
22+
return ConfluenceCloud(url, *args, **kwargs)
23+
return ConfluenceServer(url, *args, **kwargs)
24+
25+
__all__ = ['Confluence', 'ConfluenceBase', 'ConfluenceCloud', 'ConfluenceServer']
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
"""
2+
Confluence Cloud API implementation
3+
"""
4+
from .cloud import ConfluenceCloud
5+
6+
__all__ = ['ConfluenceCloud']

0 commit comments

Comments
 (0)