change default listing of rooms to joined_members and forward. plus some minor changes
This commit is contained in:
parent
928bc7c3f4
commit
ebb8064eb9
1 changed files with 17 additions and 13 deletions
|
@ -18,10 +18,10 @@ room = click.Group(name="room", help="Room commands.")
|
||||||
@click.option("--search", "-s", help="Search term to filter rooms by.")
|
@click.option("--search", "-s", help="Search term to filter rooms by.")
|
||||||
@click.option("--order-by", "-O",
|
@click.option("--order-by", "-O",
|
||||||
type=click.Choice(["name", "joined_members", "canonical_alias", "creator", "version",]),
|
type=click.Choice(["name", "joined_members", "canonical_alias", "creator", "version",]),
|
||||||
default="name", help="Field to order result by.")
|
default="joined_members", help="Field to order result by.")
|
||||||
@click.option("--direction", "-d",
|
@click.option("--direction", "-d",
|
||||||
type=click.Choice(["f", "b"]),
|
type=click.Choice(["f", "b"]),
|
||||||
default="b", help="Direction to order result by. (f=forward, b=backward)")
|
default="f", help="Direction to order result by. (f=forward, b=backward)")
|
||||||
@pass_api
|
@pass_api
|
||||||
def room_ls(
|
def room_ls(
|
||||||
api: SynapseApiClient,
|
api: SynapseApiClient,
|
||||||
|
@ -82,6 +82,8 @@ def show_room(
|
||||||
remove_media_id: Optional[str],
|
remove_media_id: Optional[str],
|
||||||
avatar: bool
|
avatar: bool
|
||||||
):
|
):
|
||||||
|
room_id = f"!{room_id}:{api.config.homeserver}"
|
||||||
|
|
||||||
if room_id is None:
|
if room_id is None:
|
||||||
click.echo("You must specify a room ID.", err=True)
|
click.echo("You must specify a room ID.", err=True)
|
||||||
return
|
return
|
||||||
|
@ -92,17 +94,15 @@ def show_room(
|
||||||
return
|
return
|
||||||
|
|
||||||
room_api = RoomAPI(api)
|
room_api = RoomAPI(api)
|
||||||
room_details = room_api.get_room_details(room_id)
|
room_service = RoomService(room_api)
|
||||||
|
room_details = room_service.get_room_details(room_id)
|
||||||
if not room_details:
|
|
||||||
click.echo(f"Error: Room {room_id} not found.", err=True)
|
|
||||||
return
|
|
||||||
|
|
||||||
if avatar:
|
if avatar:
|
||||||
if not room_details.avatar:
|
if not room_details.avatar:
|
||||||
click.echo("Room has no avatar.")
|
click.echo("Room has no avatar.")
|
||||||
return
|
return
|
||||||
click.echo(room_details.avatar)
|
click.echo(f"\nRoom Avatar: {room_details.avatar}")
|
||||||
|
exit(0)
|
||||||
# TODO: implement adding avatar to blacklist
|
# TODO: implement adding avatar to blacklist
|
||||||
|
|
||||||
if rm_all:
|
if rm_all:
|
||||||
|
@ -116,20 +116,24 @@ def show_room(
|
||||||
pass
|
pass
|
||||||
|
|
||||||
if not media:
|
if not media:
|
||||||
click.echo(f"Room details: {room_id}")
|
click.echo(f"Room details for room {room_id}:")
|
||||||
click.echo("=" * 40)
|
|
||||||
click.echo(f"Name: {room_details.name}")
|
click.echo(f"Name: {room_details.name}")
|
||||||
click.echo(f"Avatar: {room_details.avatar}")
|
|
||||||
click.echo(f"ID: {room_details.room_id}")
|
click.echo(f"ID: {room_details.room_id}")
|
||||||
click.echo(f"Members: {room_details.joined_members} (Local: {room_details.joined_local_members})")
|
click.echo(f"Avatar: {room_details.avatar}")
|
||||||
|
click.echo(f"Joined Members: {room_details.joined_members} (local: {room_details.joined_local_members})")
|
||||||
|
click.echo(f"Version: {room_details.version}")
|
||||||
click.echo(f"Creator: {room_details.creator}")
|
click.echo(f"Creator: {room_details.creator}")
|
||||||
click.echo(f"Encryption: {room_details.encryption}")
|
click.echo(f"Encryption: {room_details.encryption}")
|
||||||
|
click.echo(f"Federatable: {room_details.federatable}")
|
||||||
click.echo(f"Public: {room_details.public}")
|
click.echo(f"Public: {room_details.public}")
|
||||||
|
click.echo(f"Join Rules: {room_details.join_rules}")
|
||||||
click.echo(f"Guest Access: {room_details.guest_access}")
|
click.echo(f"Guest Access: {room_details.guest_access}")
|
||||||
click.echo(f"History Visibility: {room_details.history_visibility}")
|
click.echo(f"History Visibility: {room_details.history_visibility}")
|
||||||
click.echo(f"State Events: {room_details.state_events}")
|
click.echo(f"State Events: {room_details.state_events}")
|
||||||
click.echo(f"Room Type: {room_details.room_type}")
|
click.echo(f"Room Type: {room_details.room_type}")
|
||||||
else:
|
click.echo("=" * 50)
|
||||||
|
|
||||||
|
if media or click.confirm("Do you want to list media in the room?", default=True):
|
||||||
room_media = room_api.get_media_from_room(room_id)
|
room_media = room_api.get_media_from_room(room_id)
|
||||||
if room_media:
|
if room_media:
|
||||||
for uri in room_media.all_uris:
|
for uri in room_media.all_uris:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue