{"action":"created","comment":{"url":"https://api.github.com/repos/artefactual/archivematica/pulls/comments/22481508","id":22481508,"diff_hunk":"@@ -273,50 +270,22 @@ def getContentdmCollectionFieldInfo(contentdmServer, targetCollection):\n     return collectionFieldInfo\n \n \n-# Return the dmdSec with the specific ID value. If dublinCore is True, return\n-# the <dublincore> child node only.\n-def getDmdSec(metsDom, dmdSecId = 'dmdSec_1', dublinCore = True):\n-    for node in metsDom.getElementsByTagName('dmdSec'):\n-        for k, v in node.attributes.items():\n-            if dublinCore and k == 'ID' and v == dmdSecId:\n-                # Assumes there is only one dublincore child element.\n-                return node.getElementsByTagName('dublincore')[0]\n-            else:\n-                return node\n+def getObjectDirectoryFiles(objectDir):\n+    \"\"\"\n+    Get a list of all the files (recursive) in the provided directory.\n \n+    \"Even though there can be subdirectories in the objects directory,\n+    assumes each file should have a unique name.\" What does this mean?","path":"src/MCPClient/lib/clientScripts/restructureDIPForContentDMUpload.py","position":164,"original_position":164,"commit_id":"6f7af6838001adfac03e20acefd16d3bd310060f","original_commit_id":"6f7af6838001adfac03e20acefd16d3bd310060f","user":{"login":"mistydemeo","id":780485,"avatar_url":"https://avatars.githubusercontent.com/u/780485?v=3","gravatar_id":"","url":"https://api.github.com/users/mistydemeo","html_url":"https://github.com/mistydemeo","followers_url":"https://api.github.com/users/mistydemeo/followers","following_url":"https://api.github.com/users/mistydemeo/following{/other_user}","gists_url":"https://api.github.com/users/mistydemeo/gists{/gist_id}","starred_url":"https://api.github.com/users/mistydemeo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mistydemeo/subscriptions","organizations_url":"https://api.github.com/users/mistydemeo/orgs","repos_url":"https://api.github.com/users/mistydemeo/repos","events_url":"https://api.github.com/users/mistydemeo/events{/privacy}","received_events_url":"https://api.github.com/users/mistydemeo/received_events","type":"User","site_admin":false},"body":"I wonder if this means that filenames are (or should be) guaranteed unique across the SIP, regardless of the directory in which they're located? e.g. two subdirectories can't have objects with the same names?","created_at":"2015-01-05T19:03:41Z","updated_at":"2015-01-05T19:03:41Z","html_url":"https://github.com/artefactual/archivematica/pull/148#discussion_r22481508","pull_request_url":"https://api.github.com/repos/artefactual/archivematica/pulls/148","_links":{"self":{"href":"https://api.github.com/repos/artefactual/archivematica/pulls/comments/22481508"},"html":{"href":"https://github.com/artefactual/archivematica/pull/148#discussion_r22481508"},"pull_request":{"href":"https://api.github.com/repos/artefactual/archivematica/pulls/148"}}},"pull_request":{"url":"https://api.github.com/repos/artefactual/archivematica/pulls/148","id":26324308,"html_url":"https://github.com/artefactual/archivematica/pull/148","diff_url":"https://github.com/artefactual/archivematica/pull/148.diff","patch_url":"https://github.com/artefactual/archivematica/pull/148.patch","issue_url":"https://api.github.com/repos/artefactual/archivematica/issues/148","number":148,"state":"open","locked":false,"title":"CONTENTdm: metadata-only project client DIP upload","user":{"login":"Hwesta","id":3166226,"avatar_url":"https://avatars.githubusercontent.com/u/3166226?v=3","gravatar_id":"","url":"https://api.github.com/users/Hwesta","html_url":"https://github.com/Hwesta","followers_url":"https://api.github.com/users/Hwesta/followers","following_url":"https://api.github.com/users/Hwesta/following{/other_user}","gists_url":"https://api.github.com/users/Hwesta/gists{/gist_id}","starred_url":"https://api.github.com/users/Hwesta/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Hwesta/subscriptions","organizations_url":"https://api.github.com/users/Hwesta/orgs","repos_url":"https://api.github.com/users/Hwesta/repos","events_url":"https://api.github.com/users/Hwesta/events{/privacy}","received_events_url":"https://api.github.com/users/Hwesta/received_events","type":"User","site_admin":false},"body":"Changes to how CONTENTdm DIP upload works, specifically for project client in a metadata-only DIP 'upload'.\r\n\r\nsimple.txt and compound.txt are now generated soley from the METS file, instead of querying the CONTENTdm server for what fields are available for this collection.  The column names are based on the XML element names of associated dmdSecs, which are generated from the incoming metadata.csv\r\n\r\nBoth simple.txt and compound.txt have the AIP UUID and file UUID added as columns.  Bulk compound.txts (only directories) have Directory name as the first column, while the rest have Filename as the last column.\r\n\r\nConverted restructureDIPForContentDMUPload to use lxml instead of xml.dom.minidom, as lxml is more powerful for searching.  All the project client code uses lxml, but not all the direct upload code uses it, so direct upload doesn't work currently.\r\n\r\nThis relies on and currently includes changes in #147 \r\n\r\nrefs #7239","created_at":"2014-12-18T19:14:44Z","updated_at":"2015-01-05T19:03:41Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8b8777c3c6f91be1c1b0cd28673935e5365fb858","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/artefactual/archivematica/pulls/148/commits","review_comments_url":"https://api.github.com/repos/artefactual/archivematica/pulls/148/comments","review_comment_url":"https://api.github.com/repos/artefactual/archivematica/pulls/comments/{number}","comments_url":"https://api.github.com/repos/artefactual/archivematica/issues/148/comments","statuses_url":"https://api.github.com/repos/artefactual/archivematica/statuses/6f7af6838001adfac03e20acefd16d3bd310060f","head":{"label":"artefactual:dev/issue-7239-contentdm-metadata-dip","ref":"dev/issue-7239-contentdm-metadata-dip","sha":"6f7af6838001adfac03e20acefd16d3bd310060f","user":{"login":"artefactual","id":1163545,"avatar_url":"https://avatars.githubusercontent.com/u/1163545?v=3","gravatar_id":"","url":"https://api.github.com/users/artefactual","html_url":"https://github.com/artefactual","followers_url":"https://api.github.com/users/artefactual/followers","following_url":"https://api.github.com/users/artefactual/following{/other_user}","gists_url":"https://api.github.com/users/artefactual/gists{/gist_id}","starred_url":"https://api.github.com/users/artefactual/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artefactual/subscriptions","organizations_url":"https://api.github.com/users/artefactual/orgs","repos_url":"https://api.github.com/users/artefactual/repos","events_url":"https://api.github.com/users/artefactual/events{/privacy}","received_events_url":"https://api.github.com/users/artefactual/received_events","type":"Organization","site_admin":false},"repo":{"id":5811958,"name":"archivematica","full_name":"artefactual/archivematica","owner":{"login":"artefactual","id":1163545,"avatar_url":"https://avatars.githubusercontent.com/u/1163545?v=3","gravatar_id":"","url":"https://api.github.com/users/artefactual","html_url":"https://github.com/artefactual","followers_url":"https://api.github.com/users/artefactual/followers","following_url":"https://api.github.com/users/artefactual/following{/other_user}","gists_url":"https://api.github.com/users/artefactual/gists{/gist_id}","starred_url":"https://api.github.com/users/artefactual/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artefactual/subscriptions","organizations_url":"https://api.github.com/users/artefactual/orgs","repos_url":"https://api.github.com/users/artefactual/repos","events_url":"https://api.github.com/users/artefactual/events{/privacy}","received_events_url":"https://api.github.com/users/artefactual/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/artefactual/archivematica","description":"Free and open-source digital preservation system designed to maintain standards-based, long-term access to collections of digital objects.","fork":false,"url":"https://api.github.com/repos/artefactual/archivematica","forks_url":"https://api.github.com/repos/artefactual/archivematica/forks","keys_url":"https://api.github.com/repos/artefactual/archivematica/keys{/key_id}","collaborators_url":"https://api.github.com/repos/artefactual/archivematica/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/artefactual/archivematica/teams","hooks_url":"https://api.github.com/repos/artefactual/archivematica/hooks","issue_events_url":"https://api.github.com/repos/artefactual/archivematica/issues/events{/number}","events_url":"https://api.github.com/repos/artefactual/archivematica/events","assignees_url":"https://api.github.com/repos/artefactual/archivematica/assignees{/user}","branches_url":"https://api.github.com/repos/artefactual/archivematica/branches{/branch}","tags_url":"https://api.github.com/repos/artefactual/archivematica/tags","blobs_url":"https://api.github.com/repos/artefactual/archivematica/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/artefactual/archivematica/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/artefactual/archivematica/git/refs{/sha}","trees_url":"https://api.github.com/repos/artefactual/archivematica/git/trees{/sha}","statuses_url":"https://api.github.com/repos/artefactual/archivematica/statuses/{sha}","languages_url":"https://api.github.com/repos/artefactual/archivematica/languages","stargazers_url":"https://api.github.com/repos/artefactual/archivematica/stargazers","contributors_url":"https://api.github.com/repos/artefactual/archivematica/contributors","subscribers_url":"https://api.github.com/repos/artefactual/archivematica/subscribers","subscription_url":"https://api.github.com/repos/artefactual/archivematica/subscription","commits_url":"https://api.github.com/repos/artefactual/archivematica/commits{/sha}","git_commits_url":"https://api.github.com/repos/artefactual/archivematica/git/commits{/sha}","comments_url":"https://api.github.com/repos/artefactual/archivematica/comments{/number}","issue_comment_url":"https://api.github.com/repos/artefactual/archivematica/issues/comments/{number}","contents_url":"https://api.github.com/repos/artefactual/archivematica/contents/{+path}","compare_url":"https://api.github.com/repos/artefactual/archivematica/compare/{base}...{head}","merges_url":"https://api.github.com/repos/artefactual/archivematica/merges","archive_url":"https://api.github.com/repos/artefactual/archivematica/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/artefactual/archivematica/downloads","issues_url":"https://api.github.com/repos/artefactual/archivematica/issues{/number}","pulls_url":"https://api.github.com/repos/artefactual/archivematica/pulls{/number}","milestones_url":"https://api.github.com/repos/artefactual/archivematica/milestones{/number}","notifications_url":"https://api.github.com/repos/artefactual/archivematica/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/artefactual/archivematica/labels{/name}","releases_url":"https://api.github.com/repos/artefactual/archivematica/releases{/id}","created_at":"2012-09-14T16:43:38Z","updated_at":"2014-12-15T16:30:21Z","pushed_at":"2014-12-19T23:42:08Z","git_url":"git://github.com/artefactual/archivematica.git","ssh_url":"git@github.com:artefactual/archivematica.git","clone_url":"https://github.com/artefactual/archivematica.git","svn_url":"https://github.com/artefactual/archivematica","homepage":"http://www.archivematica.org","size":31344,"stargazers_count":51,"watchers_count":51,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":13,"mirror_url":null,"open_issues_count":14,"forks":13,"open_issues":14,"watchers":51,"default_branch":"stable/1.3.x"}},"base":{"label":"artefactual:qa/1.x","ref":"qa/1.x","sha":"8116da8cb915819aae626b894fa279e292d5270b","user":{"login":"artefactual","id":1163545,"avatar_url":"https://avatars.githubusercontent.com/u/1163545?v=3","gravatar_id":"","url":"https://api.github.com/users/artefactual","html_url":"https://github.com/artefactual","followers_url":"https://api.github.com/users/artefactual/followers","following_url":"https://api.github.com/users/artefactual/following{/other_user}","gists_url":"https://api.github.com/users/artefactual/gists{/gist_id}","starred_url":"https://api.github.com/users/artefactual/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artefactual/subscriptions","organizations_url":"https://api.github.com/users/artefactual/orgs","repos_url":"https://api.github.com/users/artefactual/repos","events_url":"https://api.github.com/users/artefactual/events{/privacy}","received_events_url":"https://api.github.com/users/artefactual/received_events","type":"Organization","site_admin":false},"repo":{"id":5811958,"name":"archivematica","full_name":"artefactual/archivematica","owner":{"login":"artefactual","id":1163545,"avatar_url":"https://avatars.githubusercontent.com/u/1163545?v=3","gravatar_id":"","url":"https://api.github.com/users/artefactual","html_url":"https://github.com/artefactual","followers_url":"https://api.github.com/users/artefactual/followers","following_url":"https://api.github.com/users/artefactual/following{/other_user}","gists_url":"https://api.github.com/users/artefactual/gists{/gist_id}","starred_url":"https://api.github.com/users/artefactual/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/artefactual/subscriptions","organizations_url":"https://api.github.com/users/artefactual/orgs","repos_url":"https://api.github.com/users/artefactual/repos","events_url":"https://api.github.com/users/artefactual/events{/privacy}","received_events_url":"https://api.github.com/users/artefactual/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/artefactual/archivematica","description":"Free and open-source digital preservation system designed to maintain standards-based, long-term access to collections of digital objects.","fork":false,"url":"https://api.github.com/repos/artefactual/archivematica","forks_url":"https://api.github.com/repos/artefactual/archivematica/forks","keys_url":"https://api.github.com/repos/artefactual/archivematica/keys{/key_id}","collaborators_url":"https://api.github.com/repos/artefactual/archivematica/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/artefactual/archivematica/teams","hooks_url":"https://api.github.com/repos/artefactual/archivematica/hooks","issue_events_url":"https://api.github.com/repos/artefactual/archivematica/issues/events{/number}","events_url":"https://api.github.com/repos/artefactual/archivematica/events","assignees_url":"https://api.github.com/repos/artefactual/archivematica/assignees{/user}","branches_url":"https://api.github.com/repos/artefactual/archivematica/branches{/branch}","tags_url":"https://api.github.com/repos/artefactual/archivematica/tags","blobs_url":"https://api.github.com/repos/artefactual/archivematica/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/artefactual/archivematica/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/artefactual/archivematica/git/refs{/sha}","trees_url":"https://api.github.com/repos/artefactual/archivematica/git/trees{/sha}","statuses_url":"https://api.github.com/repos/artefactual/archivematica/statuses/{sha}","languages_url":"https://api.github.com/repos/artefactual/archivematica/languages","stargazers_url":"https://api.github.com/repos/artefactual/archivematica/stargazers","contributors_url":"https://api.github.com/repos/artefactual/archivematica/contributors","subscribers_url":"https://api.github.com/repos/artefactual/archivematica/subscribers","subscription_url":"https://api.github.com/repos/artefactual/archivematica/subscription","commits_url":"https://api.github.com/repos/artefactual/archivematica/commits{/sha}","git_commits_url":"https://api.github.com/repos/artefactual/archivematica/git/commits{/sha}","comments_url":"https://api.github.com/repos/artefactual/archivematica/comments{/number}","issue_comment_url":"https://api.github.com/repos/artefactual/archivematica/issues/comments/{number}","contents_url":"https://api.github.com/repos/artefactual/archivematica/contents/{+path}","compare_url":"https://api.github.com/repos/artefactual/archivematica/compare/{base}...{head}","merges_url":"https://api.github.com/repos/artefactual/archivematica/merges","archive_url":"https://api.github.com/repos/artefactual/archivematica/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/artefactual/archivematica/downloads","issues_url":"https://api.github.com/repos/artefactual/archivematica/issues{/number}","pulls_url":"https://api.github.com/repos/artefactual/archivematica/pulls{/number}","milestones_url":"https://api.github.com/repos/artefactual/archivematica/milestones{/number}","notifications_url":"https://api.github.com/repos/artefactual/archivematica/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/artefactual/archivematica/labels{/name}","releases_url":"https://api.github.com/repos/artefactual/archivematica/releases{/id}","created_at":"2012-09-14T16:43:38Z","updated_at":"2014-12-15T16:30:21Z","pushed_at":"2014-12-19T23:42:08Z","git_url":"git://github.com/artefactual/archivematica.git","ssh_url":"git@github.com:artefactual/archivematica.git","clone_url":"https://github.com/artefactual/archivematica.git","svn_url":"https://github.com/artefactual/archivematica","homepage":"http://www.archivematica.org","size":31344,"stargazers_count":51,"watchers_count":51,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":13,"mirror_url":null,"open_issues_count":14,"forks":13,"open_issues":14,"watchers":51,"default_branch":"stable/1.3.x"}},"_links":{"self":{"href":"https://api.github.com/repos/artefactual/archivematica/pulls/148"},"html":{"href":"https://github.com/artefactual/archivematica/pull/148"},"issue":{"href":"https://api.github.com/repos/artefactual/archivematica/issues/148"},"comments":{"href":"https://api.github.com/repos/artefactual/archivematica/issues/148/comments"},"review_comments":{"href":"https://api.github.com/repos/artefactual/archivematica/pulls/148/comments"},"review_comment":{"href":"https://api.github.com/repos/artefactual/archivematica/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/artefactual/archivematica/pulls/148/commits"},"statuses":{"href":"https://api.github.com/repos/artefactual/archivematica/statuses/6f7af6838001adfac03e20acefd16d3bd310060f"}}}}