Skip to content

Commit 0f0686c

Browse files
committed
Backed out previous changes; make_directories() was used in more than one place. Renamed to more expressive name.
- Legacy-Id: 11441
1 parent d4c7928 commit 0f0686c

3 files changed

Lines changed: 23 additions & 16 deletions

File tree

ietf/meeting/forms.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
from ietf.group.models import Group
1414
from ietf.ietfauth.utils import has_role
1515
from ietf.meeting.models import Session, Meeting, Schedule, countries, timezones
16-
from ietf.meeting.helpers import get_next_interim_number, make_directories
16+
from ietf.meeting.helpers import get_next_interim_number, make_materials_directories
1717
from ietf.meeting.helpers import is_meeting_approved, get_next_agenda_name
1818
from ietf.message.models import Message
1919
from ietf.person.models import Person
@@ -217,7 +217,7 @@ def save(self, *args, **kwargs):
217217
meeting.save() # save with agenda
218218

219219
# create directories
220-
make_directories(meeting)
220+
make_materials_directories(meeting)
221221

222222
return meeting
223223

ietf/meeting/helpers.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -517,6 +517,24 @@ def get_next_agenda_name(meeting):
517517
sequence=str(last_sequence + 1).zfill(2))
518518

519519

520+
def make_materials_directories(meeting):
521+
'''
522+
This function takes a meeting object and creates the appropriate materials directories
523+
'''
524+
path = meeting.get_materials_path()
525+
# Default umask is 0x022, meaning strip write premission for group and others.
526+
# Change this temporarily to 0x0, to keep write permission for group and others.
527+
# (WHY??) (Note: this code is old -- was present already when the secretariat code
528+
# was merged with the regular datatracker code; then in secr/proceedings/views.py
529+
# in make_directories())
530+
saved_umask = os.umask(0)
531+
for leaf in ('slides','agenda','minutes','id','rfc','bluesheets'):
532+
target = os.path.join(path,leaf)
533+
if not os.path.exists(target):
534+
os.makedirs(target)
535+
os.umask(saved_umask)
536+
537+
520538
def send_interim_approval_request(meetings):
521539
"""Sends an email to the secretariat, group chairs, and resposnible area
522540
director or the IRTF chair noting that approval has been requested for a

ietf/secr/meetings/views.py

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
from ietf.ietfauth.utils import role_required
1818
from ietf.utils.mail import send_mail
19-
from ietf.meeting.helpers import get_meeting
19+
from ietf.meeting.helpers import get_meeting, make_materials_directories
2020
from ietf.meeting.models import Meeting, Session, Room, TimeSlot, SchedTimeSessAssignment, Schedule
2121
from ietf.group.models import Group, GroupEvent
2222
from ietf.person.models import Person
@@ -314,19 +314,8 @@ def add(request):
314314
meeting.save()
315315

316316
#Create Physical new meeting directory and subdirectories
317-
path = meeting.get_materials_path()
318-
# Default umask is 0x022, meaning strip write premission for group and others.
319-
# Change this temporarily to 0x0, to keep write permission for group and others.
320-
# (WHY??) (Note: this code is old -- was present already when the secretariat code
321-
# was merged with the regular datatracker code; then in secr/proceedings/views.py
322-
# in make_directories())
323-
saved_umask = os.umask(0)
324-
for leaf in ('slides','agenda','minutes','id','rfc','bluesheets'):
325-
target = os.path.join(path,leaf)
326-
if not os.path.exists(target):
327-
os.makedirs(target)
328-
os.umask(saved_umask)
329-
317+
make_materials_directories(meeting)
318+
330319
messages.success(request, 'The Meeting was created successfully!')
331320
return redirect('meetings')
332321
else:

0 commit comments

Comments
 (0)