Skip to content

Commit

Permalink
create tira teams with batch script
Browse files Browse the repository at this point in the history
  • Loading branch information
mam10eks committed Dec 4, 2024
1 parent 20f655a commit 7f77f2e
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 29 deletions.
42 changes: 18 additions & 24 deletions cli/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
from doccano_client.models.member import Member
from doccano_client.models.project import Project
from doccano_client.models.user import User
from pandas import (DataFrame, concat, isna, read_csv, read_json, read_xml,
to_datetime)
from pandas import DataFrame, concat, isna, read_csv, read_json, read_xml, to_datetime
from requests import RequestException, session
from slugify import slugify
from tqdm import tqdm
Expand Down Expand Up @@ -1206,44 +1205,39 @@ def clean_up(
"tira_task_id",
type=str,
)
@argument(
"affiliation_of_teams",
type=str,
)
@argument(
"country_of_teams",
type=str,
)
def create_tira_groups(
prefix: str,
path: Path,
tira_task_id: str,
affiliation_of_teams: str,
country_of_teams: str,
) -> None:
"""
Create the groups in tira.
"""
from tira.rest_api_client import Client

from cli.tirex import create_group

topics = read_topics(path / "topics.xml")
pool = read_pooled_for_topics([path / "doccano-judgment-pool.jsonl"], topics)
groups = group_names(pool, prefix).values()
tira = Client()
metadata_for_task = tira.metadata_for_task(tira_task_id)["context"]["task"]
allowed_teams = [
i.strip() for i in metadata_for_task["allowed_task_teams"].split("\n")
]
modify_task = False

for group in groups:
create_group(path / "tira-invites.json", tira, group)
if group not in allowed_teams:
allowed_teams += [group]
tira.register_group(group)
modify_task = True

if modify_task:
task_modification = {
"featured": True,
"require_registration": True,
"require_groups": True,
"restrict_groups": True,
"allowed_task_teams": "\n".join(allowed_teams),
}
tira.modify_task(tira_task_id, task_modification)
create_group(
path / "tira-invites.json",
tira_task_id,
group,
affiliation_of_teams,
country_of_teams,
)


if __name__ == "__main__":
Expand Down
45 changes: 40 additions & 5 deletions cli/tirex.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import json
import time
from glob import glob
from gzip import open as gzip_open
from itertools import chain
Expand All @@ -14,7 +15,7 @@
from pyterrier import BatchRetrieve, IndexFactory, IterDictIndexer, Transformer
from pyterrier.apply import generic
from pyterrier.io import read_results, read_topics, write_results
from tira.tira_client import TiraClient
from tira.rest_api_client import Client
from tqdm import tqdm
from trectools import TrecPoolMaker, TrecRun

Expand Down Expand Up @@ -371,14 +372,48 @@ def read_tira_invites(invite_path: Path):
return json.load(f)


def create_group(invite_path: Path, tira_client: TiraClient, group_name: str):
def create_group(
invite_path: Path,
tira_task_id: str,
group_name: str,
affiliation: str,
country: str,
):
all_invites = read_tira_invites(invite_path)

tira = Client()
if group_name not in all_invites:
invite = tira.create_group(group_name)
metadata_for_task = tira.metadata_for_task(tira_task_id)
time.sleep(1)
metadata_for_task = metadata_for_task["context"]["task"]
allowed_teams = [
i.strip() for i in metadata_for_task["allowed_task_teams"].split("\n")
] + [group_name]
task_modification = {
"featured": True,
"require_registration": True,
"require_groups": True,
"restrict_groups": True,
"task_teams": "\n".join(allowed_teams),
}
tira.modify_task(tira_task_id, task_modification)
time.sleep(1)
invite = tira.register_group(
group_name,
tira_task_id,
name="no-name",
email="no-mail",
affiliation=affiliation,
country=country,
)
all_invites[group_name] = invite

with open(invite_path, "w") as f:
f.write(json.dumps(all_invites))
all_invites = read_tira_invites(invite_path)
time.sleep(8)

print(group_name + ": " + all_invites[group_name])
print(
group_name
+ ": "
+ json.dumps(all_invites[group_name]["context"]["created_group"])
)

0 comments on commit 7f77f2e

Please sign in to comment.