Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion tabcmd/commands/datasources_and_workbooks/publish_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,13 @@ def run_command(cls, args):
if args.db_username:
creds = TSC.models.ConnectionCredentials(args.db_username, args.db_password, embed=args.save_db_password)
workbook_connections = TSC.ConnectionItem()
workbook_connections.server_address = args.db_server
workbook_connections.connection_credentials = creds
datasource_credentials = creds
elif args.oauth_username:
creds = TSC.models.ConnectionCredentials(args.oauth_username, None, embed=False, oauth=args.save_oauth)
workbook_connections = TSC.ConnectionItem()
workbook_connections.server_address = args.db_server
workbook_connections.connection_credentials = creds
datasource_credentials = creds
else:
Expand Down Expand Up @@ -183,7 +185,7 @@ def publish_workbook_file(args, logger, server, project_id, str_filename, publis
publish_mode,
# args.thumbnail_username, not yet implemented in tsc
# args.thumbnail_group,
connections=credentials,
connections=[credentials] if credentials else None,
as_job=False,
skip_connection_check=args.skip_connection_check,
)
Expand Down
1 change: 1 addition & 0 deletions tabcmd/execution/global_options.py
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,7 @@ def set_publish_args(parser):
creds.add_argument("--db-username", help=_("publish.options.db-username"))
parser.add_argument("--save-oauth", action="store_true", help=_("publish.options.save-oauth"))

parser.add_argument("--db-server", help=_("publish.options.db-server"))
parser.add_argument("--db-password", help=_("publish.options.db-password"))
parser.add_argument("--save-db-password", action="store_true", help=_("publish.options.save-db-password"))

Expand Down
Binary file modified tabcmd/locales/de/LC_MESSAGES/tabcmd.mo
Binary file not shown.
1 change: 1 addition & 0 deletions tabcmd/locales/de/tabcmd_messages_de.properties
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,7 @@ publish.errors.server_resource_not_found=Die von Ihnen angegebene Ressource exis
publish.options.append=Extraktdatei an vorhandene Datenquelle anfügen
publish.options.async=Asynchron veröffentlichen
publish.options.db-password=Datenbankkennwort für alle Datenquellen
publish.options.db-server=Serveradresse der Datenbank, die den eingebetteten Verbindungsanmeldeinformationen zugeordnet werden soll. Erforderlich bei Verwendung von --db-username oder --oauth-username zum Veröffentlichen einer Arbeitsmappe.
publish.options.db-username=Datenbankbenutzername für alle Datenquellen
publish.options.description=Beschreibung der Arbeitsmappe oder Datenquelle
publish.options.encrypt_extracts=Extrakte auf dem Server verschlüsseln
Expand Down
Binary file modified tabcmd/locales/en/LC_MESSAGES/tabcmd.mo
Binary file not shown.
1 change: 1 addition & 0 deletions tabcmd/locales/en/tabcmd_messages_en.properties
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,7 @@ publish.errors.server_resource_not_found=The resource you specified does not exi
publish.options.append=Append extract file to existing data source
publish.options.async=Publish asynchronously
publish.options.db-password=Database password for all data sources
publish.options.db-server=Server address of the database to associate with the embedded connection credentials. Required when using --db-username or --oauth-username to publish a workbook.
publish.options.db-username=Database username for all data sources
publish.options.description=Description of the workbook or data source
publish.options.encrypt_extracts=Encrypt extracts in the workbook or datasource being published to the server. [N/a on Tableau Cloud]
Expand Down
Binary file modified tabcmd/locales/es/LC_MESSAGES/tabcmd.mo
Binary file not shown.
1 change: 1 addition & 0 deletions tabcmd/locales/es/tabcmd_messages_es.properties
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,7 @@ publish.errors.server_resource_not_found=El recurso que ha especificado no exist
publish.options.append=Adjuntar archivo de extracción a fuente de datos existente
publish.options.async=Publicar de forma asíncrona
publish.options.db-password=Contraseña de base de datos para todas las fuentes de datos
publish.options.db-server=Dirección del servidor de la base de datos que se asociará con las credenciales de conexión incrustadas. Obligatorio cuando se usa --db-username o --oauth-username para publicar un libro de trabajo.
publish.options.db-username=Nombre de usuario de base de datos para todas las fuentes de datos
publish.options.description=Descripción del libro de trabajo o la fuente de datos
publish.options.encrypt_extracts=Cifrar extracciones en el servidor
Expand Down
Binary file modified tabcmd/locales/fr/LC_MESSAGES/tabcmd.mo
Binary file not shown.
1 change: 1 addition & 0 deletions tabcmd/locales/fr/tabcmd_messages_fr.properties
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,7 @@ publish.errors.server_resource_not_found=La ressource spécifiée n’existe pas
publish.options.append=Ajout d’un fichier d’extrait à une source de données existante
publish.options.async=Publier de manière asynchrone
publish.options.db-password=Mot de passe de base de données pour toutes les sources de données.
publish.options.db-server=Adresse du serveur de la base de données à associer aux informations d’identification de connexion intégrées. Obligatoire lors de l’utilisation de --db-username ou --oauth-username pour publier un classeur.
publish.options.db-username=Nom d’utilisateur de base de données pour toutes les sources de données.
publish.options.description=Description du classeur ou de la source de données
publish.options.encrypt_extracts=Crypter les extraits sur le serveur
Expand Down
Binary file modified tabcmd/locales/ga/LC_MESSAGES/tabcmd.mo
Binary file not shown.
1 change: 1 addition & 0 deletions tabcmd/locales/ga/tabcmd_messages_ga.properties
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,7 @@ publish.errors.server_resource_not_found=b7e8-表:The resource you specified doe
publish.options.append=6393-表:Append extract file to existing data source|桜
publish.options.async=7c1c-表:Publish asynchronously|桜
publish.options.db-password=ab47-表:Database password for all data sources|桜
publish.options.db-server=3166-表:Server address of the database to associate with the embedded connection credentials. Required when using --db-username or --oauth-username to publish a workbook.|桜
publish.options.db-username=139f-表:Database username for all data sources|桜
publish.options.description=3bff-表:Description of the workbook or data source|桜
publish.options.encrypt_extracts=cfbc-表:Encrypt extracts on the server|桜
Expand Down
Binary file modified tabcmd/locales/it/LC_MESSAGES/tabcmd.mo
Binary file not shown.
1 change: 1 addition & 0 deletions tabcmd/locales/it/tabcmd_messages_it.properties
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,7 @@ publish.errors.server_resource_not_found=La risorsa specificata non esiste o non
publish.options.append=Aggiungi un file di estrazione all’origine dati esistente
publish.options.async=Pubblica in modo asincrono
publish.options.db-password=Password del database per tutte le origini dati
publish.options.db-server=Indirizzo del server del database da associare alle credenziali di connessione incorporate. Obbligatorio quando si usa --db-username o --oauth-username per pubblicare una cartella di lavoro.
publish.options.db-username=Nome utente del database per tutte le origini dati
publish.options.description=Descrizione della cartella di lavoro o dell’origine dati
publish.options.encrypt_extracts=Crittografare le estrazioni su un server
Expand Down
Binary file modified tabcmd/locales/ja/LC_MESSAGES/tabcmd.mo
Binary file not shown.
1 change: 1 addition & 0 deletions tabcmd/locales/ja/tabcmd_messages_ja.properties
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,7 @@ publish.errors.server_resource_not_found=指定されたリソースは存在し
publish.options.append=抽出ファイルを既存のデータ ソースに追加
publish.options.async=非同期でパブリッシュ
publish.options.db-password=すべてのデータ ソースのデータベース パスワード
publish.options.db-server=埋め込まれた接続資格情報に関連付けるデータベースのサーバー アドレス。ワークブックの発行時に --db-username または --oauth-username を使用する場合は必須です。
publish.options.db-username=すべてのデータ ソースのデータベース ユーザー名
publish.options.description=ワークブックまたはデータ ソースの説明
publish.options.encrypt_extracts=サーバーで抽出を暗号化する
Expand Down
Binary file modified tabcmd/locales/ko/LC_MESSAGES/tabcmd.mo
Binary file not shown.
1 change: 1 addition & 0 deletions tabcmd/locales/ko/tabcmd_messages_ko.properties
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,7 @@ publish.errors.server_resource_not_found=지정한 리소스가 존재하지 않
publish.options.append=기존 데이터 원본에 추출 파일 추가
publish.options.async=비동기식으로 게시
publish.options.db-password=모든 데이터 원본에 대한 데이터베이스 비밀번호
publish.options.db-server=포함된 연결 자격 증명과 연결할 데이터베이스의 서버 주소입니다. 워크북을 게시할 때 --db-username 또는 --oauth-username을 사용하는 경우 필수입니다.
publish.options.db-username=모든 데이터 원본에 대한 데이터베이스 사용자 이름
publish.options.description=통합 문서 또는 데이터 원본의 설명
publish.options.encrypt_extracts=서버에서 추출 암호화
Expand Down
Binary file modified tabcmd/locales/pt/LC_MESSAGES/tabcmd.mo
Binary file not shown.
1 change: 1 addition & 0 deletions tabcmd/locales/pt/tabcmd_messages_pt.properties
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,7 @@ publish.errors.server_resource_not_found=O recurso especificado não existe ou v
publish.options.append=Anexe o arquivo de extração à fonte de dados existente
publish.options.async=Publicar de forma assíncrona
publish.options.db-password=Senha do banco de dados para todas as fontes de dados
publish.options.db-server=Endereço do servidor do banco de dado associado as credenciais. Obrigatório ao usar --db-username ou --oauth-username.
publish.options.db-username=Nome de usuário do banco de dados para todas as fontes de dados
publish.options.description=Descrição da pasta de trabalho ou fonte de dados
publish.options.encrypt_extracts=Criptografar extrações no servidor
Expand Down
Binary file modified tabcmd/locales/sv/LC_MESSAGES/tabcmd.mo
Binary file not shown.
1 change: 1 addition & 0 deletions tabcmd/locales/sv/tabcmd_messages_sv.properties
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,7 @@ publish.errors.server_resource_not_found=Den resurs du angav finns inte, eller s
publish.options.append=Lägg till extraktfil till befintlig datakälla
publish.options.async=Publicera asynkront
publish.options.db-password=Databaslösenord för alla datakällor
publish.options.db-server=Serveradress för databasen som ska associeras med de inbäddade anslutningsuppgifterna. Krävs när --db-username eller --oauth-username används för att publicera en arbetsbok.
publish.options.db-username=Databasanvändarnamn för alla datakällor
publish.options.description=Beskrivning av arbetsboken eller datakällan
publish.options.encrypt_extracts=Kryptera extrakt på servern
Expand Down
Binary file modified tabcmd/locales/zh/LC_MESSAGES/tabcmd.mo
Binary file not shown.
1 change: 1 addition & 0 deletions tabcmd/locales/zh/tabcmd_messages_zh.properties
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,7 @@ publish.errors.server_resource_not_found=指定的资源不存在,或者您没
publish.options.append=将数据提取文件追加到现有数据源
publish.options.async=异步发布
publish.options.db-password=用于所有数据源的数据库密码
publish.options.db-server=要与嵌入式连接凭据关联的数据库的服务器地址。使用 --db-username 或 --oauth-username 发布工作簿时必需。
publish.options.db-username=用于所有数据源的数据库用户名
publish.options.description=工作簿或数据源的描述
publish.options.encrypt_extracts=在服务器上对数据提取进行加密
Expand Down
39 changes: 39 additions & 0 deletions tests/commands/test_publish_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ def test_publish_with_creds(self, mock_path, mock_glob, mock_session):

mock_args.db_username = "username"
mock_args.db_password = "oauth_u"
mock_args.db_server = "db.example.com"
mock_args.save_db_password = True
mock_args.oauth_username = None
mock_args.embed = False
Expand All @@ -66,6 +67,44 @@ def test_publish_with_creds(self, mock_path, mock_glob, mock_session):
PublishCommand.run_command(mock_args)
mock_session.internal_server.workbooks.publish.assert_called()

call_kwargs = mock_session.internal_server.workbooks.publish.call_args.kwargs
connections = call_kwargs["connections"]
self.assertEqual(len(connections), 1)
self.assertEqual(connections[0].server_address, "db.example.com")

def test_publish_with_creds_no_db_server(self, mock_path, mock_glob, mock_session):
set_up_mock_server(mock_session)
mock_path = set_up_mock_path(mock_path)

mock_args.overwrite = False
mock_args.append = True
mock_args.replace = False

mock_args.filename = "existing_file.twbx"
mock_args.project_name = "project-name"
mock_args.parent_project_path = "projects"
mock_args.name = ""
mock_args.tabbed = True

mock_args.db_username = "username"
mock_args.db_password = "oauth_u"
mock_args.db_server = None
mock_args.save_db_password = True
mock_args.oauth_username = None
mock_args.embed = False

mock_args.thumbnail_username = None
mock_args.thumbnail_group = None
mock_args.skip_connection_check = False

PublishCommand.run_command(mock_args)
mock_session.internal_server.workbooks.publish.assert_called()

call_kwargs = mock_session.internal_server.workbooks.publish.call_args.kwargs
connections = call_kwargs["connections"]
self.assertEqual(len(connections), 1)
self.assertIsNone(connections[0].server_address)

def test_get_files_to_publish_twbx(self, mock_path, mock_glob, mock_session):
set_up_mock_server(mock_session)
mock_path = set_up_mock_path(mock_path)
Expand Down