Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • GraceDB Server GraceDB Server
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 107
    • Issues 107
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 3
    • Merge requests 3
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • IGWN Computing and Software
  • GraceDB
  • GraceDB ServerGraceDB Server
  • Issues
  • #197
Closed
Open
Created 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 an admin enable hashed storage. More information
Assignee
Assign to
Time tracking