@@ -691,6 +691,7 @@ def file_owner_verify(path, user_id, group_id):
691691 return False
692692 return True
693693
694+
694695def create_skeleton_files (sitename , dir ):
695696 read_skel_permissions ()
696697 sitedir = site_dir (sitename )
@@ -718,12 +719,14 @@ def create_skeleton_files(sitename, dir):
718719 create_skeleton_file (skelroot , sitedir , dirpath , replacements )
719720 create_skeleton_file (skelroot , sitedir , dirpath + "/" + entry , replacements )
720721
722+
721723def delete_user_file (user_path ):
722724 if not os .path .islink (user_path ) and os .path .isdir (user_path ):
723725 shutil .rmtree (user_path )
724726 else :
725727 os .remove (user_path )
726728
729+
727730def delete_directory_contents (d ):
728731 # refuse to operate when directory is a symlink.
729732 if os .path .islink (d ):
@@ -732,6 +735,7 @@ def delete_directory_contents(d):
732735 for f in os .listdir (d ):
733736 delete_user_file (d + '/' + f )
734737
738+
735739def create_skeleton_file (skelbase , userbase , relpath , replacements ):
736740 skel_path = skelbase + "/" + relpath
737741 user_path = userbase + "/" + relpath
@@ -760,9 +764,9 @@ def create_skeleton_file(skelbase, userbase, relpath, replacements):
760764 mode = g_file_mode
761765 os .chmod (user_path , mode )
762766
767+
763768def chown_tree_fd (dirpath , user , uid , gid ):
764769 try :
765- # TODO: check os.O_RDONLY and fchown
766770 dir_fd = os .open (dirpath , os .O_RDONLY | os .O_NOFOLLOW | os .O_DIRECTORY )
767771 except Exception as e :
768772 sys .stderr .write ("Cannot chown %s to %s: %s\n " % (dirpath , user , e ))
@@ -897,7 +901,6 @@ def walk_skel(root, handler, args, kwargs, depth_first, exclude_if_in = None, re
897901 todo = True # Try again
898902
899903
900- #.
901904# .--omd update----------------------------------------------------------.
902905# | _ _ _ |
903906# | ___ _ __ ___ __| | _ _ _ __ __| | __ _| |_ ___ |
0 commit comments