@@ -522,67 +522,50 @@ def create_encoded_data(parent_group):
522
522
continue
523
523
524
524
525
+ def create_links (h5 ):
526
+ print ("- Creating links..." )
527
+
528
+ main_group = h5 .create_group ("links" )
529
+ dataset = main_group .create_dataset ("dataset" , data = numpy .int64 (10 ))
530
+ group = main_group .create_group ("group" )
531
+ group ["something_inside" ] = numpy .int64 (20 )
532
+
533
+ main_group ["hard_link_to_group" ] = main_group ["group" ]
534
+ main_group ["hard_link_to_dataset" ] = main_group ["dataset" ]
535
+
536
+ main_group .create_group ("hard_recursive_link" )
537
+ main_group .create_group ("hard_recursive_link2" )
538
+ main_group ["hard_recursive_link/link" ] = main_group ["hard_recursive_link2" ]
539
+ main_group ["hard_recursive_link2/link" ] = main_group ["hard_recursive_link" ]
540
+
541
+ main_group ["soft_link_to_group" ] = h5py .SoftLink (group .name )
542
+ main_group ["soft_link_to_dataset" ] = h5py .SoftLink (dataset .name )
543
+ main_group ["soft_link_to_nothing" ] = h5py .SoftLink ("/foo/bar/2000" )
544
+ main_group ["soft_link_to_group_link" ] = h5py .SoftLink (main_group .name + "/soft_link_to_group" )
545
+ main_group ["soft_link_to_dataset_link" ] = h5py .SoftLink (main_group .name + "/soft_link_to_dataset" )
546
+ main_group ["soft_link_to_itself" ] = h5py .SoftLink (main_group .name + "/soft_link_to_itself" )
547
+
548
+ # External links to self file
549
+ main_group ["external_link_to_group" ] = h5py .ExternalLink (h5 .file .filename , group .name )
550
+ main_group ["external_link_to_dataset" ] = h5py .ExternalLink (h5 .file .filename , dataset .name )
551
+ main_group ["external_link_to_nothing" ] = h5py .ExternalLink (h5 .file .filename , "/foo/bar/2000" )
552
+ main_group ["external_link_to_missing_file" ] = h5py .ExternalLink (h5 .file .filename + "_unknown" , "/" )
553
+ main_group ["external_link_to_group_link" ] = h5py .ExternalLink (h5 .file .filename , main_group .name + "/soft_link_to_group" )
554
+ main_group ["external_link_to_dataset_link" ] = h5py .ExternalLink (h5 .file .filename , main_group .name + "/soft_link_to_dataset" )
555
+ main_group ["external_link_to_itself" ] = h5py .ExternalLink (h5 .file .filename , main_group .name + "/external_link_to_itself" )
556
+ main_group ["external_link_to_recursive_link2" ] = h5py .ExternalLink (h5 .file .filename , main_group .name + "/external_link_to_recursive_link3" )
557
+ main_group ["external_link_to_recursive_link3" ] = h5py .ExternalLink (h5 .file .filename , main_group .name + "/external_link_to_recursive_link2" )
558
+ main_group ["external_link_to_soft_recursive" ] = h5py .ExternalLink (h5 .file .filename , main_group .name + "/soft_link_to_itself" )
559
+
560
+
525
561
def create_file ():
526
562
filename = "all_types.h5"
527
563
print ("Creating file '%s'..." % filename )
528
564
with h5py .File (filename , "w" ) as h5 :
529
565
create_hdf5_types (h5 )
530
566
create_nxdata_group (h5 )
531
567
create_encoded_data (h5 )
532
- # create_all_links()
533
- # create_recursive_links()
534
- # create_external_recursive_links()
535
-
536
-
537
- def create_all_links ():
538
- with h5py .File ("../links.h5" , "w" ) as h5 :
539
- g = h5 .create_group ("group" )
540
- g .create_dataset ("dataset" , data = numpy .int64 (10 ))
541
- h5 .create_dataset ("dataset" , data = numpy .int64 (10 ))
542
-
543
- h5 ["hard_link_to_group" ] = h5 ["/group" ]
544
- h5 ["hard_link_to_dataset" ] = h5 ["/dataset" ]
545
-
546
- h5 ["soft_link_to_group" ] = h5py .SoftLink ("/group" )
547
- h5 ["soft_link_to_dataset" ] = h5py .SoftLink ("/dataset" )
548
- h5 ["soft_link_to_nothing" ] = h5py .SoftLink ("/foo/bar/2000" )
549
-
550
- h5 ["external_link_to_group" ] = h5py .ExternalLink ("types.h5" , "/arrays" )
551
- h5 ["external_link_to_dataset" ] = h5py .ExternalLink ("types.h5" , "/arrays/cube" )
552
- h5 ["external_link_to_nothing" ] = h5py .ExternalLink ("types.h5" , "/foo/bar/2000" )
553
- h5 ["external_link_to_missing_file" ] = h5py .ExternalLink ("missing_file.h5" , "/" )
554
-
555
-
556
- def create_recursive_links ():
557
- with h5py .File ("../links_recursive.h5" , "w" ) as h5 :
558
- g = h5 .create_group ("group" )
559
- g .create_dataset ("dataset" , data = numpy .int64 (10 ))
560
- h5 .create_dataset ("dataset" , data = numpy .int64 (10 ))
561
-
562
- h5 ["hard_recursive_link" ] = h5 ["/group" ]
563
- g ["recursive" ] = h5 ["hard_recursive_link" ]
564
- h5 ["hard_link_to_dataset" ] = h5 ["/dataset" ]
565
-
566
- h5 ["soft_link_to_group" ] = h5py .SoftLink ("/group" )
567
- h5 ["soft_link_to_link" ] = h5py .SoftLink ("/soft_link_to_group" )
568
- h5 ["soft_link_to_itself" ] = h5py .SoftLink ("/soft_link_to_itself" )
569
-
570
-
571
- def create_external_recursive_links ():
572
-
573
- with h5py .File ("../links_external_recursive.h5" , "w" ) as h5 :
574
- g = h5 .create_group ("group" )
575
- g .create_dataset ("dataset" , data = numpy .int64 (10 ))
576
- h5 ["soft_link_to_group" ] = h5py .SoftLink ("/group" )
577
- h5 ["external_link_to_link" ] = h5py .ExternalLink ("links_external_recursive_2.h5" , "/soft_link_to_group" )
578
- h5 ["external_link_to_recursive_link" ] = h5py .ExternalLink ("links_external_recursive_2.h5" , "/external_link_to_recursive_link" )
579
-
580
- with h5py .File ("../links_external_recursive_2.h5" , "w" ) as h5 :
581
- g = h5 .create_group ("group" )
582
- g .create_dataset ("dataset" , data = numpy .int64 (10 ))
583
- h5 ["soft_link_to_group" ] = h5py .SoftLink ("/group" )
584
- h5 ["external_link_to_link" ] = h5py .ExternalLink ("links_external_recursive.h5" , "/soft_link_to_group" )
585
- h5 ["external_link_to_recursive_link" ] = h5py .ExternalLink ("links_external_recursive.h5" , "/external_link_to_recursive_link" )
568
+ create_links (h5 )
586
569
587
570
588
571
def main ():
0 commit comments