slack: Add minor changes.

Set default value to be False for message's has_image

Update type signature to functions.

Set default to be false for msg's has_link.
This commit is contained in:
rht 2017-10-05 14:08:43 +02:00 committed by showell
parent a645ba233f
commit 7db4e36752

View file

@ -6,17 +6,26 @@ import sys
import argparse import argparse
import shutil import shutil
import subprocess import subprocess
import zipfile
from typing import Any, Dict, List
# stubs
user_profile_stub = Dict[str, Any]
added_users_stub = Dict[str, int]
# Transported from https://github.com/zulip/zulip/blob/master/zerver/lib/export.py # Transported from https://github.com/zulip/zulip/blob/master/zerver/lib/export.py
def rm_tree(path): def rm_tree(path: str) -> None:
# type: (str) -> None
if os.path.exists(path): if os.path.exists(path):
shutil.rmtree(path) shutil.rmtree(path)
def users2zerver_userprofile(slack_dir, realm_id, timestamp, domain_name): def users2zerver_userprofile(slack_dir: str, realm_id: int, timestamp: Any,
# type: () -> None domain_name: str) -> (List[user_profile_stub], added_users_stub):
"""
Returns:
1. zerver_userprofile, which is a list of user profile
2. added_users, which is a dictionary to map from slack user id to zulip
user id
"""
print('######### IMPORTING USERS STARTED #########\n') print('######### IMPORTING USERS STARTED #########\n')
users = json.load(open(slack_dir + '/users.json')) users = json.load(open(slack_dir + '/users.json'))
zerver_userprofile = [] zerver_userprofile = []
@ -215,7 +224,7 @@ def channelmessage2zerver_message(slack_dir, channel, added_users, added_channel
zulip_message = dict( zulip_message = dict(
sending_client=1, sending_client=1,
rendered_content_version=1, # This is Zulip-specific rendered_content_version=1, # This is Zulip-specific
has_image=msg['has_image'], has_image=msg.get('has_image', False),
subject=channel, # This is Zulip-specific subject=channel, # This is Zulip-specific
pub_date=msg['ts'], pub_date=msg['ts'],
id=msg_id_count, id=msg_id_count,
@ -226,13 +235,11 @@ def channelmessage2zerver_message(slack_dir, channel, added_users, added_channel
rendered_content=text, # slack doesn't cache this rendered_content=text, # slack doesn't cache this
recipient=added_channels[channel], recipient=added_channels[channel],
last_edit_time=None, last_edit_time=None,
has_link=msg['has_link']) has_link=msg.get('has_link', False))
zerver_message.append(zulip_message) zerver_message.append(zulip_message)
return zerver_message return zerver_message
def main(slack_zip_file): def main(slack_zip_file: str) -> None:
# type: (str) -> None
slack_dir = slack_zip_file.replace('.zip', '') slack_dir = slack_zip_file.replace('.zip', '')
subprocess.check_call(['unzip', slack_zip_file]) subprocess.check_call(['unzip', slack_zip_file])
# with zipfile.ZipFile(slack_zip_file, 'r') as zip_ref: # with zipfile.ZipFile(slack_zip_file, 'r') as zip_ref: