Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
G
gracedb
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 99
    • Issues 99
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 1
    • Merge Requests 1
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Security & Compliance
    • Security & Compliance
    • Dependency List
    • License Compliance
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • lscsoft
  • gracedb
  • Issues
  • #197

Closed
Open
Opened Apr 15, 2020 by Leo Pound Singer@leo-singerContributor

time_slide_id must be non-empty

Even though GraceDB does not use or save the time_slide_id column, it must be non-empty. This is due to bugs in glue.ligolw that are fixed in ligo.lw. Migrating from glue.ligolw to ligo.lw would fix this.

Here's an example showing that the time_slide_id column may be empty with ligo.lw, but may not be empty for glue.ligolw.

# test.py
import ligo.lw.ligolw
import ligo.lw.lsctables
import ligo.lw.utils
import glue.ligolw.ligolw
import glue.ligolw.lsctables
import glue.ligolw.utils


for api in [glue.ligolw, ligo.lw]:
    print('testing API:', api)
    xmldoc = api.ligolw.Document()
    xmldoc.appendChild(api.ligolw.LIGO_LW())
    coinc_table = api.lsctables.New(api.lsctables.CoincTable)
    row = coinc_table.RowType()
    for colname in coinc_table.validcolumns:
        setattr(row, colname, None)
    coinc_table.append(row)
    xmldoc.childNodes[0].appendChild(coinc_table)
    api.utils.write_filename(xmldoc, 'test.xml')
$ python test.py 
testing API: <module 'glue.ligolw' from '/usr/lib/python3.8/site-packages/glue/ligolw/__init__.py'>
testing API: <module 'ligo.lw' from '/usr/lib/python3.8/site-packages/ligo/lw/__init__.py'>
Traceback (most recent call last):
  File "test.py", line 19, in <module>
    api.utils.write_filename(xmldoc, 'test.xml')
  File "/usr/lib/python3.8/site-packages/ligo/lw/utils/__init__.py", line 526, in write_filename
    write_fileobj(xmldoc, fileobj, gz = gz, **kwargs)
  File "/usr/lib/python3.8/site-packages/ligo/lw/utils/__init__.py", line 445, in write_fileobj
    xmldoc.write(fileobj, **kwargs)
  File "/usr/lib/python3.8/site-packages/ligo/lw/ligolw.py", line 798, in write
    c.write(fileobj)
  File "/usr/lib/python3.8/site-packages/ligo/lw/ligolw.py", line 389, in write
    c.write(fileobj, indent + Indent)
  File "/usr/lib/python3.8/site-packages/ligo/lw/ligolw.py", line 389, in write
    c.write(fileobj, indent + Indent)
  File "/usr/lib/python3.8/site-packages/ligo/lw/table.py", line 433, in write
    line = next(rowdumper)
AttributeError: coinc_def_id
To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: lscsoft/gracedb#197