


'''simple docstring'''




import os
from datetime import datetime as dt

from github import Github


_A:					int							=				[
    """good first issue""",
    """good second issue""",
    """good difficult issue""",
    """enhancement""",
    """new pipeline/model""",
    """new scheduler""",
    """wip""",
]







def _lowerCAmelCase     (      )->     Union[str, Any]:
 __UpperCAmelCase					=   Github(os.environ['GITHUB_TOKEN']    )
 __UpperCAmelCase					=   g.get_repo('huggingface/diffusers'    )
 __UpperCAmelCase					=   repo.get_issues(state='open'    )

 for issue in open_issues:
  __UpperCAmelCase					=   sorted(issue.get_comments()       ,    key=lambda _lowerCAmelCase    : i.created_at       ,    reverse=_snake_case    )
  __UpperCAmelCase					=   comments[0] if len(_snake_case    ) > 0 else None
  if (
      last_comment is not None
      and last_comment.user.login == "github-actions[bot]"
      and (dt.utcnow() - issue.updated_at).days > 7
      and (dt.utcnow() - issue.created_at).days >= 30
      and not any(label.name.lower() in LABELS_TO_EXEMPT for label in issue.get_labels()    )
  ):
   # Closes the issue after 7 days of inactivity since the Stalebot notification.
   issue.edit(state='closed'    )
  elif (
      "stale" in issue.get_labels()
      and last_comment is not None
      and last_comment.user.login != "github-actions[bot]"
  ):
   # Opens the issue if someone other than Stalebot commented.
   issue.edit(state='open'    )
   issue.remove_from_labels('stale'    )
  elif (
      (dt.utcnow() - issue.updated_at).days > 23
      and (dt.utcnow() - issue.created_at).days >= 30
      and not any(label.name.lower() in LABELS_TO_EXEMPT for label in issue.get_labels()    )
  ):
   # Post a Stalebot notification after 23 days of inactivity.
   issue.create_comment(
       'This issue has been automatically marked as stale because it has not had '
       'recent activity. If you think this still needs to be addressed '
       'please comment on this thread.\n\nPlease note that issues that do not follow the '
       '[contributing guidelines](https://github.com/huggingface/diffusers/blob/main/CONTRIBUTING.md) '
       'are likely to be ignored.'    )
   issue.add_to_labels('stale'    )


if __name__ == "__main__":
    main()












'''simple docstring'''




from __future__ import annotations







def _lowerCAmelCase     (      _lowerCAmelCase       ,    _lowerCAmelCase       ,    _lowerCAmelCase       ,    )->     tuple:
 if (electron_conc, hole_conc, intrinsic_conc).count(0    ) != 1:
  raise ValueError('You cannot supply more or less than 2 values'    )
 elif electron_conc < 0:
  raise ValueError('Electron concentration cannot be negative in a semiconductor'    )
 elif hole_conc < 0:
  raise ValueError('Hole concentration cannot be negative in a semiconductor'    )
 elif intrinsic_conc < 0:
  raise ValueError(
      'Intrinsic concentration cannot be negative in a semiconductor'    )
 elif electron_conc == 0:
  return (
      "electron_conc",
      intrinsic_conc**2 / hole_conc,
  )
 elif hole_conc == 0:
  return (
      "hole_conc",
      intrinsic_conc**2 / electron_conc,
  )
 elif intrinsic_conc == 0:
  return (
      "intrinsic_conc",
      (electron_conc * hole_conc) ** 0.5,
  )
 else:
  return (-1, -1)


if __name__ == "__main__":
    import doctest

    doctest.testmod()





