Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PILOT 4808: CLI differentiates the item path of move/rename between Project Folders and Name Folders #137

Merged
merged 22 commits into from
Apr 25, 2024

Conversation

colorzzr
Copy link
Member

@colorzzr colorzzr commented Apr 8, 2024

Summary

In the same Project/zone, such as Indoc Test Project Green Room, platform allows a Project Folder shares same name with a Name folder, i.e., in Indoc Test Project Green Room, there can be:

  • a Project Folder “imaging” - manually created by Project Admin
  • a Name folder “imaging” - auto created when Project member joined the Project and registered their username as “imaging”

Detail:

  • New path prefix in download commands will allow user to select if downloading from namefolder or project folder.
  • See if we can centralize some of this pathing logic to reduce copy pasted code.
  • Unit tests to be updated.

JIRA Issues

PILOT-4808

Type of Change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update
  • Refactor or reformatting

Testing

Are there any new or updated tests to validate the changes?

  • Yes
  • No

Test Directions

Update test cases for new prefix

@colorzzr colorzzr added the enhancement New feature or request label Apr 8, 2024
@colorzzr colorzzr self-assigned this Apr 8, 2024
Copy link

github-actions bot commented Apr 8, 2024

Coverage

Coverage Report
FileStmtsMissCoverMissing
__init__.py00100% 
pilotcli.py0310%5, 7–8, 10–14, 17–21, 23–28, 31–39, 42–44
commands
   __init__.py00100% 
   container_registry.py01959%16, 22–24, 31–33, 41–44, 50–53, 62–65
   dataset.py04844%19, 36–38, 41–48, 50–60, 78–80, 83–91, 93–103, 123, 127
   entry_point.py01085%39, 45, 89–91, 93–97
   file.py04184%41, 153–155, 159, 164, 167–169, 185–186, 228, 313–320, 322, 324, 338–344, 346, 375, 377, 380, 426, 429, 446–448, 454–455, 549
   project.py0197%17
   user.py0685%23, 40, 48, 56, 72–73
configs
   __init__.py00100% 
   app_config.py00100% 
   config.py00100% 
   user_config.py01784%61, 70, 114, 124, 131, 135, 139, 143, 147, 151, 155, 159, 163, 167, 171, 175, 179
models
   __init__.py00100% 
   enums.py00100% 
   item.py00100% 
   service_meta_class.py0180%9
   singleton.py00100% 
   upload_form.py0625%30, 42–46
resources
   custom_error.py00100% 
   custom_help.py00100% 
services
   __init__.py00100% 
services/container_registry_manager
   container_registry_manager.py010817%19–20, 23–26, 29–33, 36–44, 48–60, 62–64, 68–82, 84–86, 90–99, 101–103, 107–110, 125–136, 140–143, 147–162, 164, 166–169
services/crypto
   __init__.py00100% 
   crypto.py01940%35, 43–47, 49, 59–61, 69–75, 77, 79
services/dataset_manager
   dataset_detail.py02370%42, 44, 61, 68–73, 75–77, 79–88, 90
   dataset_download.py01983%56, 72–73, 84, 96, 98–99, 101–102, 104, 106–108, 116–119, 153, 165
   dataset_list.py0878%37, 43–46, 48–50
   model.py00100% 
services/file_manager
   __init__.py00100% 
   file_list.py01676%50, 52, 72–74, 82–85, 87, 93–98
   file_manifests.py09525%19–24, 39–43, 47–48, 51–59, 61, 65–68, 71–75, 77, 81–82, 85–87, 91–92, 95–102, 104, 107, 109–110, 112–113, 115–118, 123–129, 134–139, 142–148, 150–152, 155–161, 163–165, 167–170
   file_tag.py03931%23, 27–31, 33, 36–48, 50–52, 54–55, 59–61, 64–68, 70–73, 75–76
services/file_manager/file_download
   __init__.py00100% 
   download_client.py017423%44–45, 47–53, 56–57, 59–60, 69, 71–72, 76–79, 86, 91–94, 96, 98–106, 108, 110, 114–119, 121, 124–125, 128–130, 132–134, 136–137, 139–141, 145–153, 156–161, 165–174, 182–184, 186–193, 195–199, 204–214, 216–217, 220–221, 226–227, 231–236, 240–241, 244–246, 248–259, 263–266, 269–273, 275–277, 279–281, 283–284, 286, 290–292, 294–307, 309
   model.py0187%15
services/file_manager/file_metadata
   __init__.py00100% 
   file_metadata_client.py0395%98–100
services/file_manager/file_move
   __init__.py00100% 
   file_move_client.py0691%71, 80–82, 84, 111
services/file_manager/file_upload
   __init__.py00100% 
   exception.py0175%10
   file_upload.py02884%36–43, 97–99, 111, 142–143, 147, 152, 189, 209–211, 252–253, 255–257, 331, 334, 338
   models.py0591%24, 44, 150–152
   upload_client.py07760%101–104, 207–209, 223–229, 231–235, 237–249, 251, 295, 298, 302, 304–306, 308–311, 315–319, 321, 325, 327, 329, 331, 350, 380–381, 386, 390–393, 397, 413, 415–417, 424, 429–430, 432, 434–435, 437–440, 442
   upload_validator.py02156%29–31, 34–39, 42–48, 51–52, 57, 59, 61
services/logger_services
   __init__.py00100% 
   log_functions.py00100% 
services/output_manager
   __init__.py00100% 
   error_handler.py00100% 
   help_page.py00100% 
   message_handler.py05770%23, 45, 50, 65–67, 72, 82, 87, 100, 105, 112, 117, 122, 126, 142, 177, 187, 196, 214, 224, 243, 265–276, 287–292, 294–300, 311, 315–316, 320–321, 323–324, 328, 332, 336
services/project_manager
   __init__.py00100% 
   project.py0878%38, 44–47, 49–51
services/user_authentication
   __init__.py00100% 
   decorator.py0293%27, 30
   token_manager.py0986%26, 41–42, 73, 76, 91, 96, 100, 105
   user_login_logout.py04266%30–31, 41, 122, 126–132, 134–136, 140–141, 145–152, 154–156, 160–161, 168–173, 175–177, 181–184
utils
   __init__.py00100% 
   aggregated.py02283%52, 64, 104, 118–119, 129–130, 132, 156–163, 165–166, 194, 202, 219–220
TOTAL311996369% 

@colorzzr colorzzr changed the title CLI differentiates the item path of move/rename between Project Folders and Name Folders PILOT 4808: CLI differentiates the item path of move/rename between Project Folders and Name Folders Apr 9, 2024
@colorzzr colorzzr requested a review from Samantha77 April 25, 2024 19:37
zhiren and others added 2 commits April 25, 2024 15:44
…between Project Folders and Name Folders (#138)

* use keyword and prefix to config the path under project folder or name folder

* fixup test cases

* remove old comments

* remove response is used before assignment

---------

Co-authored-by: zhiren <zzhan@indocresearch.org>
@colorzzr colorzzr merged commit 84b3d92 into develop Apr 25, 2024
1 check passed
andricDu pushed a commit that referenced this pull request May 23, 2024
…roject Folders and Name Folders (#137)

* add [p] prefix for project folder when listing items under project

* group itemprefix class with itemtype class

* add double quotation when item name contains space

* udpate move/rename commands to distinguish project folder/name folder

* change enum type PROJECTFOLDER to SHAREDFOLDER

* update move/rename logic but will need to fix upload/list command for prefix changes

* replace PROJECTFOLDER with SHAREDFOLDER

* replace PROJECTFOLDER with SHAREDFOLDER

* fixup test cases

* fixup logic for different prefix

* add prefix for name folder

* bump up version to 3.0.0

* fixup test cases

* fixup test cases

* remove SHAREFOLDER specific logic

* fixup test cases

* bumpup version

* Pilot 4807: CLI differentiates the item path of downloading metadata between Project Folders and Name Folders (#138)

* use keyword and prefix to config the path under project folder or name folder

* fixup test cases

* remove old comments

* remove response is used before assignment

---------

Co-authored-by: zhiren <zzhan@indocresearch.org>

---------

Co-authored-by: zhiren <zzhan@indocresearch.org>
Former-commit-id: da53de0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants